home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / os2 / flstd200.zip / FASTLST.INF (.txt) < prev    next >
OS/2 Help File  |  1997-06-19  |  183KB  |  7,149 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Readme First ΓòÉΓòÉΓòÉ
  3.  
  4.  
  5. FastLst Readme First
  6.  
  7.           Development of V7/V7+ programs
  8.  
  9. How to develop programs that use the Version 7 nodelist:
  10.  
  11. If you are interested in developing programs that access the V7
  12. nodelist, you can find all the necessary information in the
  13. BinkleyTerm 2.60 sources (BSRC_260.ZIP) or you can use the OS/2
  14. DLL provided by Jim Dailey (V7NL.ZIP); both files are
  15. requestable from 2:332/504@fidonet.
  16.  
  17. For a criterion to avoid problems in concurrent access to the
  18. V7/V7+ files while FastLst is building/renaming them, please see
  19. "V7+ Semaphore" in the V7Plus.Doc file.
  20.  
  21.  
  22.            Version 7 Plus format
  23.  
  24.  
  25. For information about the new extensions to Version 7, please
  26. see "Version 7 Plus" or the V7Plus.Doc text file.
  27.  
  28.  
  29. ΓòÉΓòÉΓòÉ 1.1. Files in the archive ΓòÉΓòÉΓòÉ
  30.  
  31.  
  32. Files in the original archive:
  33.  
  34. File_Id.Diz   The standard description
  35.  
  36. Fastlst.Exe   The executable
  37. FastLst.Ico   An Icon for FastLst
  38. FastLst.Inf   The Inf documentation
  39.  
  40. Readme.1st   This file
  41. Whatsnew.Txt  Fixes and additions
  42. Fast_Min.Cfg  The sample minimal configuration file
  43. Fast_Ful.Cfg  The sample full configuration file
  44. Compress.Cfg  The sample compression definition file
  45. FastLst.Doc   The Ascii documentation
  46.  
  47. License.Doc   The License
  48. Register.Doc  The Registration Docs
  49. Register.For  The Registration Form
  50. BmtMicro.For  The BMT Micro registration form
  51. PsL.Crd     The PsL Credit Card registration form supplement
  52.  
  53. V7Plus.Doc   The Version 7+ standard
  54. v7p_src.zip   The Version 7+ example source code
  55.  
  56.               OS/2 Only
  57.  
  58. FastLst2.Ico  An Icon for FastLst/2, by Andrea Vavassori
  59.  
  60.  
  61.               Dos Only
  62.  
  63. Dos4Gw.Exe   Dos Extender (major releases only)
  64. Dos4Gw.Doc   If you have a maintenance release of the program,
  65.         the dos extender will not be included, to avoid
  66.         unnecessary distribution costs.
  67.  
  68.  
  69. The OS/2 Inf manual is provided with other versions too,
  70. since there are INF viewers under Dos. For example, the very
  71. nice viewer by Damir Ujcic: VIEW01.ZIP, available for F/R from
  72. 2:332/504@fidonet: it contains a text mode viewer in both OS/2
  73. and Dos versions.
  74.  
  75.  
  76. ΓòÉΓòÉΓòÉ 1.2. Whatsnew ΓòÉΓòÉΓòÉ
  77.  
  78.               Whatsnew
  79.  
  80. If you are using an older version of the program, please read
  81. WhatsNew.Txt before using this version.
  82.  
  83.  
  84. ΓòÉΓòÉΓòÉ 1.3. How to contact the author ΓòÉΓòÉΓòÉ
  85.  
  86.  
  87.           How to contact the author
  88.  
  89. If you have suggestions, bug reports, observations about the
  90. docs, please feel free to contact me at the following
  91. addresses:
  92.  
  93. Alberto Pasquale of 2:332/504@fidonet
  94.  
  95. alberto.pasquale@interbusiness.it
  96.  
  97. 2:332/504@fidonet +39-59-246112 X75 V120 X2 V34+ VFC V32T H16
  98. Fax:        +39-59-246113
  99.  
  100. Alberto Pasquale, Viale Verdi 106, 41100 Modena, Italy
  101.  
  102. IMPORTANT: if you call crash and require an answer, please state
  103. whether you want it routed (might not be reliable) or ON HOLD
  104. (in which case an answer should be available in 48h maximum,
  105. apart from the holiday periods).
  106.  
  107.  
  108. ΓòÉΓòÉΓòÉ 1.4. Support ECHO ΓòÉΓòÉΓòÉ
  109.  
  110.  
  111.              Support ECHO
  112.  
  113. I am originating an international support echo for all my
  114. programs. If you are interested, please ask your echo feeder to
  115. find a suitable link for the APWORKS area. In addition, I
  116. regularly read the international OS2BBS echo.
  117.  
  118.  
  119. ΓòÉΓòÉΓòÉ 1.5. TIC distribution ΓòÉΓòÉΓòÉ
  120.  
  121.  
  122.             TIC distribution
  123.  
  124. All my BBS related programs are distributed via a TIC file area.
  125. If you want to join, please ask your file feeder to find a
  126. suitable link for the APBBS (OS/2), APBBSDOS (Dos),
  127. APBBSWIN (W32) areas.
  128.  
  129. Public Beta versions are distributed without restrictions in
  130. APBBSBETA.
  131.  
  132. There are also APTOOLS for 3rd party tools related to APWORKS
  133. programs and APWORKSG for German documentation by Roland
  134. Schiradin.
  135.  
  136.  
  137. ΓòÉΓòÉΓòÉ 1.6. APWorks Programs and Support Areas ΓòÉΓòÉΓòÉ
  138.  
  139.  
  140.             Where to look for
  141.         APWorks Programs and Support Areas
  142.  
  143. In North America the APWORKS support echo should be easily
  144. available, since it is on the Zone 1 backbone.
  145.  
  146.  
  147. The following systems carry the ApWorks echo and file areas:
  148.  
  149.  
  150.               Author's
  151. APWORKS
  152.   Alberto Pasquale, Modena, Italy
  153.   alberto.pasquale@interbusiness.it
  154.   2:332/504@fidonet +39-59-246112 X75 V120 X2 V34+ VFC V32T H16
  155.   File requests could be declined between 23:00 and 06:00 GMT.
  156.   Request APFILES for a (short) list of APWORKS files only.
  157.  
  158.  
  159.                Europe
  160.  
  161. ApWorks_Germany
  162.   Roland Schiradin, Eltville, Germany
  163.   schiradi@tap.de
  164.   2:2454/169@fidonet
  165.  
  166. Cyberia/2
  167.   Harald Kamm, Bamberg, Germany
  168.   2:2490/3045@fidonet
  169.  
  170. Air Applewood
  171.   Vince Coen, Roydon, Harlow, Essex, United Kingdom
  172.   2:257/609@fidonet
  173.  
  174.  
  175.              North America
  176.  
  177. COMM Port OS/2
  178.   Bob Juge, Sugar Land, TX, USA
  179.   bob@juge.com
  180.   1:106/2000@fidonet
  181.  
  182. Common Sense
  183.   Mike Burgett, Newark, CA, USA
  184.   burgett@cmnsens.zoom.com
  185.   1:215/705@fidonet
  186.  
  187. Eclectic Lab 1
  188.   Mary-Anne Wise, New Westminster, BC, Canada
  189.   1:153/831@fidonet
  190.  
  191. Filebone:  MaxFDN
  192.   Available via Planet Connect, PageSat, Filebone,
  193.   paonline ftphub and the Filegate Project.
  194.  
  195.  
  196.               Australia
  197.  
  198. Tardis BBS
  199.   Malcolm Miles, North Balwyn, VIC, Australia
  200.   3:633/260@fidonet
  201.  
  202.  
  203. ΓòÉΓòÉΓòÉ 1.6.1. File Areas on the Internet ΓòÉΓòÉΓòÉ
  204.  
  205.           File Areas on the Internet
  206.  
  207.  
  208.                USA
  209.  
  210. ftp.juge.com
  211.  
  212. cmnsens.zoom.com
  213.   /pub/apworks/bbs
  214.   /pub/apworks/bbsdos
  215.   /pub/apworks/bbswin
  216.   /pub/apworks/tools
  217.   /pub/apworks/beta
  218.  
  219. ftp.oeonline.com
  220.   /pub/Maximus
  221.  
  222. ftp.bmtmicro.com
  223.   /bmtmicro
  224.   Only the public release versions of programs that can be
  225.   registered via Bmt Micro.
  226.  
  227.  
  228. ΓòÉΓòÉΓòÉ 1.7. Latest Versions ΓòÉΓòÉΓòÉ
  229.  
  230.  
  231.             How to Request the
  232.         Latest Version of APWORKS Programs
  233.  
  234.  
  235. The following magics are honoured by APWORKS and some of the
  236. support sites:
  237.  
  238. Magic   Name     Description
  239.  
  240. APFILES  ApFiles.Lst    List of Programs by Alberto Pasquale
  241.  
  242. FASTLST  FLST???.RAR  OS/2 The ultimate v7+ Nodelist processor.
  243.               Fully automated processing and
  244.               maintenance, no need for clumsy batch
  245.               files. Can report to Squish or *.MSG
  246.               areas, multitasking friendly, many
  247.               options.
  248.  
  249. FASTLSTD FLSTD???.RAR DOS
  250.  
  251. FASTLSTW FLSTW???.RAR NT
  252.  
  253. FASTLSTG          German Docs by Roland Schiradin
  254.               Available on 2:2454/169
  255.  
  256. NEF    NEF???.RAR  OS/2 TIC file distribution and
  257.               announcement for Binkley-style
  258.               outbound and *.MSG or Squish message
  259.               base, file-Areafix included with
  260.               FileBone support, full multitasking
  261.               aware (BSY, file sharing etc.),
  262.               exceptionally flexible Multi-Aka
  263.               support.
  264.  
  265. NEFD   NEFD???.RAR  DOS  32 bit only, w DOS4GW extender.
  266.  
  267. NEFW   NEFW???.RAR  NT
  268.  
  269. NEFG            German Docs by Roland Schiradin
  270.               Available on 2:2454/169
  271.  
  272. FLM    FLM???.RAR  OS/2 File List Manager for Maximus,
  273.               very flexible way of compiling
  274.               many different lists at a time.
  275.               Internal file base support
  276.               (no need for FBP).
  277.  
  278. FLMD   FLMD???.RAR  DOS  32 bit only, w DOS4GW extender.
  279.  
  280. FLMW   FLMW???.RAR  NT
  281.  
  282. NMFW   NMFW???.RAR  OS/2 Multi-Robot: netmail forward to
  283.               Sysop's point, Maximus user and file
  284.               management via netmail messages,
  285.               areafix for squish, point routing to
  286.               their boss if no phone number for
  287.               them in the nodelist, etc.
  288.  
  289. NMFWD   NMFWD???.RAR DOS  32 bit only, w DOS4GW extender.
  290.  
  291. NMFWW   NMFWW???.RAR NT
  292.  
  293. QFB    QFB???.RAR  OS/2 Substitute for FBP.EXE
  294.               Generates a separate file-request
  295.               index with no duplicates.
  296.  
  297. QFBD   QFBD???.RAR  DOS  32 bit only, w DOS4GW extender
  298.  
  299. QFBW   QFBW???.RAR  NT
  300.  
  301. QFBG            German Docs by Roland Schiradin
  302.               Available on 2:2454/169
  303.  
  304. SQPRV   SQPV???.RAR  OS/2 Local area (private/public) forward
  305.               to points for Squish. The (Co)SysOp
  306.               points can receive the whole area.
  307.  
  308. SQPRVD  SQPVD???.RAR DOS
  309.  
  310. -----   SQFM110.RAR  OS/2 Allows to change the "from address"
  311.               of PKTs before they are compressed.
  312.               To be used with Squish.
  313.               For example, it is useful to Hub
  314.               coordinators who want to continue
  315.               processing mail with their primary
  316.               address for current links while
  317.               processing with the administrative
  318.               address for their uplink BackBone.
  319.               FreeWare.
  320.  
  321. -----   SQFMW110.RAR NT
  322.  
  323. -----   HBRT110.RAR  OS/2 Useful to coordinators (above HCs)
  324.               that use Squish. Automatically
  325.               updates the Hub definitions in
  326.               ROUTE.CFG taking the data from a V7
  327.               nodelist.
  328.  
  329. -----   HBRTD110.RAR DOS
  330.  
  331. -----   HBRTW110.RAR NT
  332.  
  333. -----   SqSetAll.Rar OS/2 Sets renum limits in all Squish Areas
  334.               taking the parameters from
  335.               Squish.Cfg.
  336.  
  337. -----   SqSetDos.Rar DOS  Dos version.
  338.  
  339. -----   AdjFDate.Rar OS/2 Changes by +-N days the File Date.
  340.               Can choose between Creation and
  341.               Modification dates on HPFS.
  342.               Show and Touch options.
  343.  
  344. -----   AdjF_Dos.Rar DOS  Changes by +-N days the File Date.
  345.  
  346.  
  347. Current versions (June 19th 1997): NEF 2.38, FastLst 2.00,
  348. FLM 1.40, NMFWD 2.07, QFB 1.10, SQPrv 1.04.
  349.  
  350.  
  351. ΓòÉΓòÉΓòÉ 1.8. Bug Reports ΓòÉΓòÉΓòÉ
  352.  
  353.  
  354.              Bug Reports
  355.  
  356. If you find out a real bug, I will do my best to fix it and make
  357. the new version available in a few days. To do that, I need your
  358. cooperation: when you find a strange behaviour, double check
  359. your configuration and the manual to be really sure it's not
  360. your fault, then study the conditions in which the bug appears
  361. and, in the end, send me your detailed report about the bug
  362. together with your config file and all the stuff necessary to
  363. replicate the problem. I can fix a bug only if I am enabled to
  364. reproduce it !
  365.  
  366.  
  367. ΓòÉΓòÉΓòÉ 1.9. Wish List ΓòÉΓòÉΓòÉ
  368.  
  369.             Wish List
  370.  
  371.  
  372. To help me provide a better and better program, please let
  373. me know your problems and your wishes about future versions.
  374.  
  375. Please let me know your opinion:
  376.  
  377. Alberto Pasquale 2:332/504@fidonet
  378. alberto.pasquale@interbusiness.it
  379.  
  380. BBS:   +39-59-246112 X75 V120 X2 V34+ VFC V32T H16
  381. Fax:   +39-59-246113
  382.  
  383. Viale Verdi 106
  384. 41100 Modena
  385. Italy
  386.  
  387.  
  388. ΓòÉΓòÉΓòÉ 2. Whatsnew ΓòÉΓòÉΓòÉ
  389.  
  390.  
  391.             FASTLST
  392.  
  393.          Changes and Additions
  394.  
  395.  
  396. ΓòÉΓòÉΓòÉ 2.1. 2.00 ΓòÉΓòÉΓòÉ
  397.  
  398.  
  399. 2.00  Public Release, June 19th 1997
  400.  
  401.    - WARNING: this is not a Drop-In replacement.
  402.     Some statements have been dropped.
  403.  
  404.   New Features
  405.  
  406.    - Support for new V7+ nodelist format, via the "Version7+"
  407.     statement.
  408.  
  409.     To enable V7+, just use "Version7+" in the place of
  410.     "Version7".
  411.  
  412.     Version7+ <path> <nodex> [<sysop>[.<ext>]]
  413.  
  414.     Examples:
  415.  
  416.     Version7+ \bbs\v7 NODEX SYSOP
  417.     Version7+ \bbs\v7 NODEX
  418.  
  419.     If SysOp is not specified, <NODEX>.SDX is assumed.
  420.  
  421.     Generated files:
  422.  
  423.     <nodex>.DAT
  424.     <nodex>.NDX
  425.     <nodex>.DTP V7+ data file
  426.     <nodex>.PDX Phone Index
  427.     <nodex>.SDX or as specified by <sysop>
  428.  
  429.  
  430.    - The DTP file is linked "in memory" by default.
  431.     Since this can be a quite memory hungry task, FastLst
  432.     will automatically revert to "On Disk" linking mode if
  433.     there is not sufficient memory.
  434.  
  435.  
  436.    - New LinkOnDisk statement (after Version7) to make
  437.     FastLst link the DTP file using Disk instead of memory.
  438.  
  439.     Version7+ \bbs\v7 NODEX
  440.      LinkOnDisk
  441.  
  442.  
  443.    - New errolevel 17 "Error Linking"
  444.  
  445.  
  446.    - Additional arguments for "Nodelist" statement:
  447.     Nodelist <list> [PartAddr [<region> [<hub>]]]
  448.  
  449.     Since FastLst links the "fidonet" hierarchy, it is
  450.     important to specify region and hub when the nodelist
  451.     segment does not contain this type of information.
  452.  
  453.  
  454.    - Additional arguments for the "NODE" keyword:
  455.  
  456.     Node,<4Daddr>[ <region>[ <hub>]],...
  457.  
  458.  
  459.    - It is now possible to assign call and user costs
  460.     depending on modem type for Verbatim phone numbers.
  461.  
  462.     In the Typedef lines you can configure the costs:
  463.  
  464.     Typedef
  465.       [...]
  466.       VMODEM 200 100 0
  467.       [...]
  468.     End
  469.  
  470.     The call cost is 100, the user cost is 0.
  471.  
  472.  
  473.    - It is now possible to configure special dial
  474.     translations for non-PSTN "phone numbers" that FastLst
  475.     takes "verbatim" by default.
  476.  
  477.     These dial translations DO NOT affect the indexed entry
  478.     (in <NODEX>.PDX) and are intended as a work around for
  479.     the dial translations operated by the mailer program.
  480.  
  481.     The syntax requires a set of strings to be put on the
  482.     Typedef line that defines the affected "Modem Flag".
  483.  
  484.     The first character of each string will be substituted
  485.     with the remaining characters.
  486.  
  487.     A string containing space MUST be included in quotation
  488.     marks. If the quotation mark is needed inside the quoted
  489.     string, it must be double.
  490.  
  491.     15 strings of 5 characters are allowed.
  492.  
  493.     ATTENTION: This feature is only available in normal (non
  494.     BitType) mode.
  495.  
  496.     Example:
  497.  
  498.     You need to translate '.' to '*', ':' to ' ', 'v' to
  499.     'V'; call_cost=100, user_cost=0:
  500.  
  501.     Typedef
  502.      [...]
  503.      VMODEM 200 100 0 .* ": " vV
  504.      [...]
  505.     End
  506.  
  507.     You want to translate '.' to '\.', ':' to ' ', 'v' to
  508.     'V'; call_cost=150, user_cost=100:
  509.  
  510.     Typedef
  511.      [...]
  512.      VMODEM 200 150 100 .\. ": " vV
  513.      [...]
  514.     End
  515.  
  516.  
  517.     Recommended dial translations for Binkley and VMODEM:
  518.  
  519.     -\- .* vV ~\~ ": "
  520.  
  521.  
  522.    - New "digital" costs.
  523.     For people who want to differentiate analog and digital
  524.     costs.
  525.  
  526.     In the Dial or Cost table you can indicate 2 more
  527.     fields; let's consider a Dial-table line
  528.  
  529.     Prefix New   Call  User Comment
  530.     to   Prefix  Cost  Cost
  531.     match
  532.  
  533.     43   0043-  4    0   ; Austria
  534.  
  535.     If you do not define the optional new fields, the
  536.     indicated costs are for both analog and digital.
  537.  
  538.  
  539.  
  540.     43   0043-  4    0   8   0  ; Austria
  541.  
  542.     In this line:
  543.     Analog  Call cost = 4
  544.     Analog  User cost = 0
  545.     Digital Call cost = 8
  546.     Digital User cost = 0
  547.  
  548.     If the Digital User cost is omitted, it is taken equal
  549.     to the Digital Call one.
  550.  
  551.  
  552.     How can FastLst know about digital calls ?
  553.  
  554.     A new parameter is available in Typedef:
  555.  
  556.     Typedef
  557.      X75  1 DIGITAL       ; X75  digital PSTN
  558.      V120 2 DIGITAL       ; V120 digital PSTN
  559.      V34  3 ANALOG       ; V34  analog  PSTN
  560.      V32  4           ; V32  analog  PSTN
  561.      VM  5 5 0 .* vV ": "   ; VMODEM with costs and dial
  562.                   ; translations
  563.     End
  564.  
  565.  
  566.     The ANALOG specification is optional.
  567.  
  568.  
  569.    - Multiple PasswordFile statements now allowed without
  570.     restrictions.
  571.  
  572.  
  573.    - New statement "Include <filename>" to allow inclusion of
  574.     files in FastLst's configuration.
  575.  
  576.  
  577.    - New statement: NoPointLstPhone.
  578.     Can be used in Input, Output or Global blocks.
  579.     It is useful when you want to _remove_ the phone numbers
  580.     specified in the PointLists (German or "Boss" styles)
  581.     and change them to "-Unpublished-".
  582.  
  583.     If you use Squish and Binkley, you usually will like
  584.     pointlists with the Boss' phone in the point entries
  585.     (otherwise a crash message to a point will have to be
  586.     manually readdressed to its Boss).
  587.  
  588.     But if you use a netmail manager (as NmFwd) that already
  589.     routes the crash messages for points that do not have a
  590.     phone to their Boss, then you will probably like this
  591.     statement.
  592.  
  593.  
  594.    - New statement: LogStats.
  595.     Can be used in the output section of an output block.
  596.     It makes FastLst output the statistics for the (output)
  597.     nodelist to MsgLogArea.
  598.  
  599.     Example:
  600.  
  601.     Version7...
  602.      LogStats
  603.  
  604.   Dropped Support
  605.  
  606.    - Dos 16 bit version dropped.
  607.  
  608.     The 32 bit version has the following memory
  609.     requirements: 100K of base memory, 7MB of DPMI for 60000
  610.     nodes.
  611.  
  612.    - Now indices are always processed in memory: dropped
  613.     "FileMode" and "TmpPath" configuration statements and
  614.     "-t" command line switch.
  615.  
  616.    - Dropped support for SysOpLst, SysDup and IncSysOp
  617.     configuration statements: the SysOp index will always
  618.     contain all the entries that are compiled to
  619.     <nodex>.DAT.
  620.  
  621.    - Dropped NoDash keyword: no use.
  622.  
  623.    - The '#' does not mean "take the phone verbatim" anymore.
  624.     Now any phone containing non-numeric characters is taken
  625.     verbatim.
  626.  
  627.    - Dropped support for stripping flags in Dial/Cost table.
  628.  
  629.    - ATTENTION: The "separate Cost Table" and the "BitType"
  630.     options are still supported in this version of FastLst
  631.     but are considered obsolete and their support will be
  632.     dropped in the future.
  633.  
  634.  
  635.  Changed Behaviour
  636.  
  637.    - When a timeout happens accessing the BSY semaphore,
  638.     FastLst now proceeds with the following "Output Block"
  639.     (previously it aborted).
  640.  
  641.    - In the case FastLst terminates with errorlevel 12 or 14,
  642.     next time it will retry compilation, as expected
  643.     (previously it had to be forced with -f in case of
  644.     errorlevel 12).
  645.  
  646.  Bug Fixes
  647.  
  648.    - When Version7 specified a path containing the '.'
  649.     character, FastLst didn't add the default ".NDX"
  650.     extension to the SysOp index filename.
  651.     Fixed.
  652.  
  653.  
  654. ΓòÉΓòÉΓòÉ 2.2. 1.36 ΓòÉΓòÉΓòÉ
  655.  
  656.  
  657. 1.36  Public Release, July 18th 1996
  658.  
  659.    - "LocalValues" can now be used multiple times for
  660.     users at the crossroads of multiple area codes.
  661.     See the docs under "Dial Table".
  662.  
  663.    - The "Phone" statement has been extended to:
  664.  
  665.     Phone <Addr> [#]<Phone> [<NodeFlags> [<Cost> [<UCost>]]]
  666.  
  667.    - Phone specifications starting with '#' are taken
  668.     verbatim (no dial translation, no cost look-up); this
  669.     may be handy for internet addresses and script names.
  670.  
  671.    - New statement "CostVerbatimPhone <cost> <ucost>" to
  672.     specify default costs for "verbatim" phone
  673.     specifications.
  674.  
  675.  
  676. ΓòÉΓòÉΓòÉ 2.3. 1.34 ΓòÉΓòÉΓòÉ
  677.  
  678.  
  679. 1.34  Public Release, July 1st 1996
  680.  
  681.    - OS/2: New statement "ArcDate Write|Creation" to choose
  682.     which date must be used by FastLst to compute the age
  683.     of archived nodelist files, defaults to Creation,
  684.     ignored by non-OS2 versions.
  685.  
  686.    - New errorlevel 16: nothing found after unarchiving a
  687.     fixed-name nodelist.
  688.  
  689.    - When dealing with fixed-name nodelists, FastLst now
  690.     always sets the archive date to the same value of the
  691.     included file.
  692.  
  693.    - Under certain conditions the old versions of FastLst
  694.     might re-archive the original nodelist file, so that
  695.     it may fail TIC CRC-check when forwarded.
  696.  
  697.     The problem arises when the following conditions are
  698.     satisfied at the same time:
  699.     - new nodelist archive file
  700.     - new configuration
  701.     - zipmethod includes the original archive type
  702.  
  703.    - Improved documentation.
  704.  
  705.  
  706. ΓòÉΓòÉΓòÉ 2.4. 1.33 ΓòÉΓòÉΓòÉ
  707.  
  708.  
  709. 1.33
  710.    - OS/2: Version 1.32 invoked the command processor when
  711.     executing external commands with no .exe or .com
  712.     extension specified, instead of trying to load the
  713.     executable directly.
  714.  
  715.     This was due to an overlook of the DosExecPgm OS/2 API,
  716.     used to improve compatibility in the case of substitution
  717.     parameters containing "special" OS/2 characters.
  718.  
  719.     Now FastLst tries to load the command as specified, then
  720.     it tries with .COM extension appended, in the end with
  721.     .EXE.
  722.  
  723.  
  724. ΓòÉΓòÉΓòÉ 2.5. 1.32 ΓòÉΓòÉΓòÉ
  725.  
  726.  
  727. 1.32
  728.    - New "MultiLineDesc <nnn> [<c>]" statement for enabling
  729.     Multi-Line description support.
  730.  
  731.    - New "FlagDef" table to associate nodelist flags to user
  732.     defined bits.
  733.  
  734.    - In "Version7 <path> <Nodex> <SysopNdx>" you can now
  735.     specify an extension for <SysopNdx>.
  736.     If no extension is specified, ".NDX" is assumed if
  737.     <SysopNdx> is different from <Nodex>, otherwise the
  738.     ".SDX" extension is used.
  739.  
  740.    - New <nodex>.BSY V7 semaphore to avoid concurrent access
  741.     to nodelist files during compilation.
  742.  
  743.    - New errorlevel 14 exit on timeout on V7 semaphore.
  744.  
  745.    - The "MsgRem" used alone, will report all comment lines,
  746.     excluding the empty ones.
  747.  
  748.    - Use of "Phone <addr> <newnumber>" for scripts and
  749.     internet addresses (not new, just explained):
  750.  
  751.      Examples:
  752.  
  753.     My country code is 39 (Italy) and the area code is 59
  754.     (Modena):
  755.  
  756.     Phone 1:106/2000  39-59-#juge*com  ; VMODEM address
  757.     Phone 1:123/4567  39-59-12*34*56*78 ; telnet IP address
  758.     Phone 2:245/6789  39-59-"Bob.scr"  ; quoted script name
  759.  
  760.    - Some configuration errors better flagged.
  761.  
  762.    - V7 packing algorithm improved in speed.
  763.  
  764.    - Dropped OS/2 16 bit version
  765.  
  766.    - New NT version. Unfortunately it doesn't work under W95
  767.     (the external commands seem not to work so that nodelists
  768.     can't be packed/unpacked. Maybe when I will upgrade the
  769.     Watcom compiler, I will support W95 too.
  770.  
  771.    - New icon FastLst2.Ico for OS/2.
  772.  
  773.    - New Registration sites.
  774.  
  775.  
  776. ΓòÉΓòÉΓòÉ 2.6. 1.31 ΓòÉΓòÉΓòÉ
  777.  
  778.  
  779. 1.31
  780.    - New "CostNullPhone <cost> [<ucost>]" global keyword, to
  781.     allow the specification of costs to be assigned to nodes
  782.     with empty (unpublished, etc.) phone number.
  783.  
  784.     <ucost> defaults to <cost>.
  785.  
  786.     If CostNullPhone is not used, <cost> defaults to 65535
  787.     and <ucost> to 0.
  788.  
  789.     Example:
  790.  
  791.         CostNullPhone 1000 0
  792.  
  793.     Some programs might have bugs that cause problems dealing
  794.     with high costs (such as the default 65535). Should you
  795.     experience problems with entries that have a "NullPhone",
  796.     try setting a lower cost e.g. "CostNullPhone 900 0".
  797.  
  798.    - Before applying a diff, the CRC of the OLD nodelist (as
  799.     reported in its first line) is compared to the one
  800.     reported in the diff file. Previously this check was not
  801.     done, so in the remote case you were applying a diff to
  802.     an illegal nodelist (e.g. a european diff to an american
  803.     nodelist), the error was discovered only at the end of
  804.     the application, when checking the CRC of the resulting
  805.     nodelist.
  806.  
  807.    - Checks added to warn about illegal empty Cost or Dial
  808.     tables. Previously the program hanged.
  809.  
  810.    - No more Access Violations when "ArcDiff" is used without
  811.     "NodeDiff" (it is a strange configuration, but it is now
  812.     legal).
  813.  
  814.    - Fixed bug that caused access violation applying a
  815.     nodediff when using "NodeDiff" without "ArcDiff" (anyway
  816.     you are encouraged letting FastLst do all the work it is
  817.     designed for...).
  818.  
  819.    - The number of archived nodelists to be kept (as specified
  820.     in the ArcList statement) is now checked a second time
  821.     after nodediff application, so that the required number
  822.     of archives is kept exactly. Previously, after nodediff
  823.     application, there was one archive more than specified.
  824.  
  825.    - When specifying <ArcKeep> 0 in "ArcList", the nodelist is
  826.     not archived (previously was archived and then deleted).
  827.  
  828.    - Changed Compress.Cfg to support the OS/2 RAR.
  829.  
  830.    - Dos versions are now distributed with the same executable
  831.     names as the OS/2 versions: FASTLST.EXE (32 bit) and
  832.     FASTL16.EXE (16 bit).
  833.  
  834.  
  835. ΓòÉΓòÉΓòÉ 2.7. 1.30 ΓòÉΓòÉΓòÉ
  836.  
  837.  
  838. 1.30
  839.    - WARNING: FastLst v 1.30 is NOT a true "Drop In"
  840.     replacement for v 1.20, anyway there is little to change:
  841.  
  842.     - Add a "CompressCfg <squish_compress_cfg_file>" line to
  843.      the "Global Info" section of your fastlst.cfg.
  844.  
  845.     - Remove all "Arc" and "UnArc" lines.
  846.  
  847.     - In each "Input block" section where you would like to
  848.      be able to compress new nodelists (e.g. where Nodediffs
  849.      are processed and you were using "Arc" statements), add
  850.      one or more "ArcMethod <meth>,[<f>] ..." lines, where
  851.      <meth> represents one of the archiving methods defined
  852.      in <squish_compress_cfg_file> (e.g. ZIP, LH, etc.) and
  853.      the optional <f> is an override for the initial
  854.      character of the archived file extension (in the case
  855.      it is named after the day of the year and you do not
  856.      want to use the first character of the default
  857.      extension, as defined in <squish_compress_cfg_file>).
  858.  
  859.     - See FastLst.Doc for more information.
  860.  
  861.  
  862.    - DOS: There is a new 32 bit version with the DOS4GW
  863.     extender.
  864.  
  865.    - OS/2: There is a new 16 bit version for those who still
  866.     use OS/2 1.3.
  867.  
  868.    - OS/2 32: the "Priority" statement can be used to change
  869.     the priority for the FastLst process.
  870.  
  871.    - The 32 bit versions can now be configured to use the
  872.     temporary file instead of working in memory.
  873.     The "FileMode" statement and the "-t" command line switch
  874.     are used for selecting the mode.
  875.  
  876.    - The routines used in 32 bit versions for "in memory" work
  877.     (no temporary file) have been completely rewritten in
  878.     order to need far less memory. This way, the 32 bit
  879.     versions usually allocate about 1/4 of the memory they
  880.     needed with v 1.20. This is an important issue on systems
  881.     with not too much physical RAM (especially for the DOS
  882.     version, that cannot efficiently use virtual memory), but
  883.     the benefits are noticeable even on systems with plenty
  884.     of RAM (less OS/2 swap reorganization when FastLst ends).
  885.  
  886.    - The "TmpPath" config statement is no longer needed:
  887.     FastLst will use the TMP or TEMP environment variable if
  888.     no TmpPath statement is used.
  889.  
  890.    - If you want FastLst to kill all uncompressed nodelist
  891.     (except for those that are not stored in compressed
  892.     format too), just add a "KillSource" line to the "Global
  893.     Info" section of FastLst.cfg.
  894.  
  895.    - All the ArcList and Arcdiff statements can now work
  896.     WITHOUT the specification of the first letter of the
  897.     extension, i.e. "ArcList NodeList.z??" can be changed to
  898.     "ArcList NodeList.???" and "ArcDiff NodeDiff.z??" can be
  899.     changed to "ArcDiff NodeDiff.???". This way FastLst will
  900.     automatically handle any archive type that shows up in
  901.     the ArcList directory.
  902.  
  903.    - Now all the nodelists and nodediffs can be maintained in
  904.     many different archived formats. The archiving method for
  905.     NodeDiffs must be specified using "ArcDiffMethod
  906.     <meth>,[<f>] ...".
  907.  
  908.    - The "block" structure of the config file remains, but it
  909.     becomes a lot more flexible: the majority of config verbs
  910.     can now be anywhere in the config file, but they have
  911.     effect on different nodelists depending on their position
  912.     in the cfg. E.G.: "PasswordFile", being an address
  913.     related verb, can be both in the "Output Nodelist" and
  914.     "Input Nodelist" sections. If you use it after "Version7"
  915.     but before the first "NodeList", then it will be used for
  916.     all the NodeLists of that "Output block". If you use it
  917.     after a "NodeList", it will be used (as in the past) for
  918.     that Nodelist only. Other non-address related verbs (e.g.
  919.     ArcMethod) can be everywhere (global, output nodelist,
  920.     input nodelist) and the will affect the operations
  921.     depending on their position (global: all the nodelists;
  922.     output: all the nodelist in the current output block;
  923.     input: the current nodelist only).
  924.  
  925.    - "NoRedir" verb: the nodes that should be redirected will
  926.     acquire the empty string as phone number, so that you
  927.     will never call a system different from that you think
  928.     you are calling.
  929.  
  930.    - Many new verbs have been added to support external
  931.     operations; the names are self explaining:
  932.  
  933.  
  934.     BeforeArcList
  935.     AfterArcList
  936.     BeforeUnArcList
  937.     AfterUnArcList
  938.     BeforeUnArcDiff
  939.     AfterUnArcDiff
  940.     BeforeArcDiff
  941.     AfterArcDiff
  942.  
  943.     All the preceding verbs support the %a (complete archive
  944.     name) and %f (add/extract file name, no path) parameters.
  945.  
  946.  
  947.     BeforeEdit
  948.     AfterEdit
  949.  
  950.     The preceding verbs support the %l and %d parameters
  951.     standing for the full pathnames of the NodeList and
  952.     NodeDiff files.
  953.  
  954.  
  955.     BeforeCompile
  956.     AfterCompile
  957.  
  958.     The preceding verbs support the %l parameter only.
  959.  
  960.  
  961.     BeforeKillSource
  962.  
  963.     The preceding verb does not support any parameter.
  964.     It is executed even if "KillSource" is not used.
  965.     It is a means to invoke a command before FastLst ends.
  966.     The "NeededBeforeKill" verb must be used to specify the
  967.     NodeLists needed by this command.
  968.  
  969.     See FastLst.Doc for more information.
  970.  
  971.    - A new cfg section is now available: "NoCompile".
  972.     It is a means for maintaining a NodeList (applying
  973.     nodediffs, archiving with different archivers etc.)
  974.     without compiling it.
  975.  
  976.    - The 3D German PointListst is now internally supported by
  977.     FastLst. Just use the "GermanPointList" verb in the
  978.     pertaining block.
  979.  
  980.    - When all goes well, FastLst exists with errorlevel 0 if
  981.     it has compiled something, 100 if nothing new to compile
  982.     was found.
  983.  
  984.    - New method for evaluating the age of a variable extension
  985.     arcfile: the file date is considered in addition to the 2
  986.     digits in the extension. This way you can keep a greater
  987.     number of old files without creating problems to fastlst,
  988.     even at the year crossing.
  989.  
  990.    - File descriptions in FILES.BBS are now maintained
  991.     (deleted or added). New statements are available:
  992.  
  993.     ArcListDesc <description>
  994.     ArcDiffDesc <description>
  995.  
  996.     <description> can contain the following parameters:
  997.  
  998.     %d day
  999.     %a archiver
  1000.     %D date, USA format
  1001.     %L Local date
  1002.  
  1003.    - The dash is now recognized as insignificant while doing
  1004.     the Dial and Cost translations.
  1005.  
  1006.    - The line # is specified when reporting a config error.
  1007.  
  1008.    - Some information about the compilation can now be
  1009.     reported to a fido/squish message area: see FastLst.Doc
  1010.     for a description for "MsgLogArea", "MsgRemArea" and
  1011.     related statements.
  1012.  
  1013.    - FastLst is now multitasking smarter: e.g. it retries for
  1014.     15s when it has to delete the old compiled nodelists and
  1015.     rename the new ones.
  1016.  
  1017.    - New Export capability: FastLst is now able to "export"
  1018.     segments of nodelist: see the "Export" section in the
  1019.     docs.
  1020.  
  1021.    - The Dial and Cost tables can be unified: the old syntax
  1022.     is still supported, but a new way can be used for cost
  1023.     and dial specifications. I think that Europeans can
  1024.     continue using the old syntax (if they like), while the
  1025.     Americans should appreciate the new way (due to the
  1026.     complex dial translations needed).
  1027.  
  1028.    - Fixed bug that caused access violations when no
  1029.     "StatusLog" was used.
  1030.  
  1031.  
  1032. ΓòÉΓòÉΓòÉ 2.8. 1.20 ΓòÉΓòÉΓòÉ
  1033.  
  1034.  
  1035. 1.20
  1036.    - WARNING: FastLst v 1.20 is NOT a "Drop In" replacement
  1037.     for previous versions; you MUST modify the config file
  1038.     following the comments in it before using this version.
  1039.  
  1040.    - In order to make available new powerful options without
  1041.     using clumsy syntax and risking subtle side effects and
  1042.     strange interactions, some obsolete features have been
  1043.     dropped and the methods to specify the files to be
  1044.     compiled have been modified.
  1045.  
  1046.    - FastLst is faster than ever: on my system and with my
  1047.     configuration, the OS/2 version is about 25% faster
  1048.     than v 1.16.
  1049.     If you time it, be aware that the OS/2 version optimizes
  1050.     memory allocation (and speed) basing on the needs of the
  1051.     previous compilation, so it is usually a bit slower on
  1052.     the first run with a new cfg.
  1053.  
  1054.    - The ancient "Version6" nodelist support has been
  1055.     dropped. However the sometime-useful fidouser.lst is
  1056.     still available.
  1057.  
  1058.    - The "MergeList" and "Kill999" options have been dropped.
  1059.     With version7 you can simply compile segments after the
  1060.     full list, since updated entries are put in the indices
  1061.     in the place of old ones.
  1062.  
  1063.    - Added support for compiling multiple V7 nodelists
  1064.     with different output names.
  1065.  
  1066.    - Added support for automatic decompression of
  1067.     nodelists and nodediffs: no more complex batch files.
  1068.  
  1069.    - Now FastLst compiles an output nodelist only if some
  1070.     of its input lists are new: the -f command line switch
  1071.     has been added to force compilation.
  1072.  
  1073.    - Pay Attention: version 1.14 introduced a new behaviour
  1074.     in generating V7 indices to circumvent a bug in
  1075.     Binkley 2.50 V7 search function.
  1076.     Now Binkley 2.58 should have fixed the bug, so
  1077.     FastLst goes back to the "correct" V7 index.
  1078.     A new cfg option has been added to keep using the
  1079.     "bug-circumvent" index form: see "V7BugFix" in the
  1080.     example config file.
  1081.  
  1082.        *******************************************************
  1083.        * If you are using an older Binkley or some program   *
  1084.        * that have got inspiration from Binkley 2.50 sources,*
  1085.        * you could experience "address not found" problems,  *
  1086.        * unless you explicitly activate the "V7BugFix"       *
  1087.        * option in fastlst.cfg.                              *
  1088.        *******************************************************
  1089.  
  1090.  
  1091.    - The "KillOld" and "AutoErase" verbs have been dropped.
  1092.     Old nodelist and nodediff files are always erased.
  1093.     You can control how many archived files are to be kept
  1094.     via the new archive processing verbs.
  1095.  
  1096.    - The -o -s -l -g -m -p -b command line switches have
  1097.     been dropped since they are now useless.
  1098.  
  1099.    - The "include" cfg keyword and the -i command line
  1100.     switch have been dropped.
  1101.     You can still include lists of passwords in a separate
  1102.     file via the "PasswordFile" cfg keyword, that allows
  1103.     to optionally omit the " Password" keyword in front of
  1104.     each password specification.
  1105.  
  1106.    - Due to the frequent misunderstanding of the real meaning
  1107.     and function of the "Address" config option, I have
  1108.     decided to drop it.
  1109.     These days it is not much useful (in a nodelist
  1110.     compiler), since many systems have various different
  1111.     addresses and we are used to write addresses in the full
  1112.     4D format to avoid ambiguities.
  1113.     In the various config options that require an address
  1114.     or a part of it, you now need to specify all the
  1115.     required fields, always starting with the zone number:
  1116.     no assumption is made on your zone/net/node.
  1117.  
  1118.    - The obsolete "MaxBaud" and "Baud" verb have been dropped.
  1119.     Should you use an old 2400 non error-correcting
  1120.     modem that needs equal DTE and DCE rates, make sure
  1121.     your front-end is configured to dial using its own
  1122.     max baud rate instead of the baud rate reported by
  1123.     the nodelist for the callee (AutoBaud in Binkley.cfg).
  1124.  
  1125.    - The "Country" and "UCost" verbs have been dropped,
  1126.     the "Dial" and "Cost" tables have been slightly modified
  1127.     to specify domestic and international defaults in a more
  1128.     coherent manner and to include "UCost" info.
  1129.  
  1130.    - The "TypeExact" verb has been substituted by the
  1131.     complementary "BitType" option.
  1132.     Thus the default is now the "Exact Type" used by
  1133.     Binkley 2.55 and newer.
  1134.  
  1135.    - The "TypeCost" verb has been dropped.
  1136.     It was used to differentiate CallCost basing on
  1137.     modem type. This way, in a multi-line environment,
  1138.     you could make each line call the appropriate modem
  1139.     types.
  1140.     To achieve the same goal, please use the front-end
  1141.     dial string selection options (ModemTrans in Binkley).
  1142.  
  1143.    - The totally useless "Name" and "Comments" options
  1144.     have been dropped.
  1145.  
  1146.    - The "Gated" config option has been dropped and the
  1147.     "GateAddr", "GateCoord" verbs have been replaced by
  1148.     "IncAddr", "ExcAddr", "IncCoord".
  1149.  
  1150.    - The "Interlist" config option has been dropped.
  1151.     It is substituted by the "IncSysOp" verb.
  1152.  
  1153.    - The "Type" and "CM" keywords have been dropped.
  1154.     Their functions are more cleanly implemented via
  1155.     the "NodeFlags" verb.
  1156.  
  1157.    - The "TypeDef" statement has been modified to a "table"
  1158.     form, for better coherency.
  1159.  
  1160.    - The addresses in Fidouser.Lst now always have the
  1161.     heading zone number, even if it is the same as yours.
  1162.  
  1163.    - Fixed little bug that could cause some cfg keywords
  1164.     not to be recognized unless followed by a comment
  1165.  
  1166.  
  1167. ΓòÉΓòÉΓòÉ 2.9. 1.16 ΓòÉΓòÉΓòÉ
  1168.  
  1169.  
  1170. 1.16
  1171.    - Fixed bug in the Register routine that caused
  1172.     some keys not to work (1 every 256).
  1173.  
  1174.  
  1175. ΓòÉΓòÉΓòÉ 2.10. 1.15 ΓòÉΓòÉΓòÉ
  1176.  
  1177.  
  1178. 1.15
  1179.    - Some programs skip the first entry in V6 nodelist,
  1180.     assuming it is a dummy entry that contains the version
  1181.     number of the nodelist. These programs could loose
  1182.     the "zone number" of the first zone compiled, thus
  1183.     assuming zone 0.
  1184.     Now FastLst puts the "version ID" entry at the start
  1185.     of nodelist V6.
  1186.  
  1187.  
  1188. ΓòÉΓòÉΓòÉ 2.11. 1.14 ΓòÉΓòÉΓòÉ
  1189.  
  1190.  
  1191. 1.14
  1192.    - Some programs do not correctly read V7 indices when
  1193.     an empty node appears (This happens when a key has no
  1194.     greater keys in the lower index level, so that it points
  1195.     to an empty node).
  1196.     Sometimes these programs could not find part of the
  1197.     V7 nodelist entries.
  1198.     Now FastLst adds a dummy duplicate key to avoid the problem.
  1199.  
  1200.    - New "Node,<address>,..." keyword to allow
  1201.     straightforwad addition of nodes without the need for
  1202.     Zone and Host lines.
  1203.  
  1204.    - Removed the Point flag in the output nodelist for
  1205.     point 0 entries (after the "Boss,..." keyword).
  1206.  
  1207.  
  1208. ΓòÉΓòÉΓòÉ 2.12. 1.13 ΓòÉΓòÉΓòÉ
  1209.  
  1210.  
  1211. 1.13
  1212.    - When a totally empty line was found in a nodelist
  1213.     file a strange undesired nodelist entry was compiled.
  1214.     It was not a bug since FTS-0005 does not allow
  1215.     empty nodelist lines, however it has been fixed
  1216.     to avoid problems with private manually written
  1217.     nodelist segments.
  1218.  
  1219.    - The .DOC now reports an "undocumented" feature:
  1220.     when using the "Boss,<address>" method for pointlists,
  1221.     you can also use the point #0 to easily add the Boss
  1222.     entry, if useful.
  1223.  
  1224.  
  1225. ΓòÉΓòÉΓòÉ 2.13. 1.12 ΓòÉΓòÉΓòÉ
  1226.  
  1227.  
  1228. 1.12
  1229.    - In the case of SysOps of multiple nodes, all the
  1230.     Name/Address couples are now put in the SysOp
  1231.     lists (fidouser.lst and sysop.ndx).
  1232.      This new behaviour allows to use the great "address
  1233.     choice" feature of TimEd (excellent Dos/OS2 message
  1234.     editor by Gerard van Essen 2:281/527).
  1235.  
  1236.    - New behaviour of "SysDup" option: since now all the
  1237.     name-duplicate sysop entries are kept by default,
  1238.     SysDup allows to keep (for a particular sysop name)
  1239.     only the entry with one of the specified addresses.
  1240.  
  1241.    - Many internal changes, not visible to users: if you
  1242.     find out a new unexpected behaviour, please let me
  1243.     know.
  1244.  
  1245.    - Removed redundant empty lines in nodelist.prn and
  1246.     nodelist.txt after comment lines.
  1247.  
  1248.  
  1249. ΓòÉΓòÉΓòÉ 2.14. 1.11 ΓòÉΓòÉΓòÉ
  1250.  
  1251.  
  1252. 1.11
  1253.    - CRC is now checked on all nodelist files that have
  1254.     the expected CRC on the first line (previously it
  1255.     was checked when applying nodediffs only).
  1256.  
  1257.    - New errorlevel 10 for CRC Error while compiling
  1258.     nodelist (errorlevel 9 is still used for CRC Error
  1259.     while applying nodediff).
  1260.  
  1261.    - When merging the first line is skipped if it contains
  1262.     the CRC.
  1263.  
  1264.    - New -r command line switch to avoid exit on CRC Error.
  1265.  
  1266.    - New -s command line switch to override SYSOP.NDX
  1267.     base name.
  1268.  
  1269.    - Any file specification can contain drive and path,
  1270.     including -n -d -o -s overrides.
  1271.  
  1272.    - When using Version7 only, the added nodelist segments
  1273.     are appended to the end of the full main nodelist
  1274.     instead of the end of your zone.
  1275.  
  1276.    - Some small changes in Nodelist.Prn and Nodelist.Txt
  1277.  
  1278.    - Fixed bug introduced in v 1.10: when a region segment
  1279.     (no zone entry) was compiled as the main nodelist,
  1280.     zone 0 was erroneously assumed.
  1281.     Now the address levels not present in the main nodelist
  1282.     correctly default to the config address.
  1283.  
  1284.  
  1285. ΓòÉΓòÉΓòÉ 2.15. 1.10 ΓòÉΓòÉΓòÉ
  1286.  
  1287.  
  1288. 1.10
  1289.    - OS/2: First 32 bit version, compiled by BC++.
  1290.  
  1291.    - OS/2: New "flat" index sorting (no more disk based
  1292.     merge-sort).
  1293.  
  1294.    - OS/2: "TmpPath" option in *.cfg not used any more.
  1295.  
  1296.    - OS/2: Long filename support
  1297.  
  1298.    - DOS: The "TmpPath" directory is now automatically
  1299.     created when necessary.
  1300.  
  1301.    - New improved Disk Full handling (errorlevel 4)
  1302.  
  1303.    - New "-o<nodebase>" command line switch to override
  1304.     output file names (NODEX.* -> <nodebase>.*).
  1305.  
  1306.    - New "KillAfter" config verb, to save old nodelist files
  1307.     in the case of compilation error.
  1308.  
  1309.    - New "Boss <address>" statement for easier pointlist
  1310.     support (see FastLst.DOC).
  1311.  
  1312.    - New optional partial address parameter in
  1313.     "MyList <nodefile> [default partial address]"
  1314.     to allow the addition of nodelist segments without
  1315.     the need of ZONE, HOST, node prefix lines (V7 only).
  1316.     See FastLst.DOC for more details.
  1317.  
  1318.    - New "-i<include>" command line switch to allow easier
  1319.     different file inclusions.
  1320.  
  1321.    - New "KillOld" config statement to kill old versions of
  1322.     nodelist files.
  1323.  
  1324.    - New "Kill999" config statement to kill the .999 file
  1325.     that remains after merging with MergeList.
  1326.  
  1327.    - Now the .999 file is killed whenever FastLst begins
  1328.     execution, thus you do not have to manually delete it
  1329.     if you stop using the MergeList command.
  1330.  
  1331.    - Now the "Gated" config keyword prevents Hub coordinators
  1332.     of other zones to be put in the output nodelist (only
  1333.     ZC and NC remain).
  1334.  
  1335.    - New "GateAddr" config keyword allows to have only
  1336.     selected zones, regions and nets in the output files.
  1337.  
  1338.    - New "GateCoord" config keyword allows to have in the
  1339.     output files only selected coordinators from the excluded
  1340.     zones, regions and nets.
  1341.  
  1342.    - New errorlevel 9 exit after CRC error while applying
  1343.     a nodediff. If "Autoerase" is active, the nodediff and
  1344.     the resulting nodelist files are erased, otherwise they
  1345.     are renamed to NODEDIFF.BAD and NODELIST.BAD.
  1346.  
  1347.    - New "StatusLog" config statement to specify the log
  1348.     filename in the .cfg instead of the command line.
  1349.  
  1350.    - New "TypeExact" config option to set modem types in a
  1351.     way more coherent with the behaviour of Binkley 2.55 and
  1352.     newer.
  1353.  
  1354.    - New "SysDup" config option to override FastLst's choice
  1355.     when killing duplicate SysOp Names.
  1356.  
  1357.  
  1358. ΓòÉΓòÉΓòÉ 2.16. 1.06 ΓòÉΓòÉΓòÉ
  1359.  
  1360.  
  1361. 1.06
  1362.    - OS/2: Fixed bug that caused some reg. keys not to work.
  1363.  
  1364.    - DOS: Fixed bug that sometimes caused memory problems
  1365.     during index sorting.
  1366.  
  1367.  
  1368. ΓòÉΓòÉΓòÉ 2.17. 1.05 ΓòÉΓòÉΓòÉ
  1369.  
  1370.  
  1371. 1.05
  1372.    - New UCOST verbs to set User Cost Different from Call Cost.
  1373.  
  1374.    - OS/2: Fixed bug that sometimes caused "Disk Full" error.
  1375.  
  1376.  
  1377. ΓòÉΓòÉΓòÉ 2.18. 1.04 ΓòÉΓòÉΓòÉ
  1378.  
  1379.  
  1380. 1.04
  1381.    - Changed redirection criteria: if you have a password with a
  1382.     hold/unpublished system or its coordinator, then it is NOT
  1383.     redirected; instead it gets an empty phone number string.
  1384.  
  1385.    - Slightly changed the algorithm to choose the entry for
  1386.     a multi-SysOp in Sysop.Ndx, so that he never gets data from
  1387.     an entry that is not used due to local segment override.
  1388.  
  1389.    - Added "Flags" Keyword to set the user defined bits.
  1390.  
  1391.    - OS/2: Fixed a bug that caused a "NULL POINTER" error when
  1392.     compiling only Version 6 and FidoUserLst.
  1393.  
  1394.  
  1395. ΓòÉΓòÉΓòÉ 2.19. 1.03 ΓòÉΓòÉΓòÉ
  1396.  
  1397.  
  1398. 1.03
  1399.    - Added <CR> before comment output to fix video output when
  1400.     both comments and report are active, Thanks to Roberto
  1401.     Zanasi.
  1402.  
  1403.    - OS/2: First (16 bit) version, ported by Pasquale Cantiello.
  1404.  
  1405.  
  1406. ΓòÉΓòÉΓòÉ 2.20. 1.02 ΓòÉΓòÉΓòÉ
  1407.  
  1408.  
  1409. 1.02
  1410.    - Null pointer bug fixed in Merge module, Thanks to Pasquale
  1411.     Cantiello.
  1412.  
  1413.  
  1414. ΓòÉΓòÉΓòÉ 2.21. 1.01 ΓòÉΓòÉΓòÉ
  1415.  
  1416.  
  1417. 1.01
  1418.    - Minor message and DOC adjusting.
  1419.  
  1420.  
  1421. ΓòÉΓòÉΓòÉ 2.22. 1.00 ΓòÉΓòÉΓòÉ
  1422.  
  1423.  
  1424. 1.00
  1425.    - First public release.
  1426.  
  1427.  
  1428. ΓòÉΓòÉΓòÉ 3. About FastLst ΓòÉΓòÉΓòÉ
  1429.  
  1430. **************************************************************
  1431. *                               *
  1432. *                               *
  1433. *  *******  **   ****  ******  ****   ****  ******  *
  1434. *   **  *  ****  **  **  * ** *  **   **  **  * ** *  *
  1435. *   ** *  **  **  **     **   **   **     **   *
  1436. *   ****  **  **  ****   **   **    ****   **   *
  1437. *   ** *  ******    **   **   **  *   **   **   *
  1438. *   **   **  **  **  **   **   **  ** **  **   **   *
  1439. *  ****   **  **  ****   ****  *******  ****   ****   *
  1440. *                               *
  1441. *                               *
  1442. *             Version 2.00            *
  1443. *                               *
  1444. *       The ultimate V7+ nodelist processor       *
  1445. *                               *
  1446. *                               *
  1447. **************************************************************
  1448. *                               *
  1449. *     (C) Copyright 1992-1997  by  Alberto Pasquale    *
  1450. *                               *
  1451. *       A L L  R I G H T S  R E S E R V E D      *
  1452. *                               *
  1453. **************************************************************
  1454.  
  1455.  
  1456.  
  1457.     FastLst 2.00 User's Manual, by Alberto Pasquale
  1458.  
  1459.  
  1460. ΓòÉΓòÉΓòÉ 4. Introduction ΓòÉΓòÉΓòÉ
  1461.  
  1462.              INTRODUCTION
  1463.  
  1464.  
  1465. -> For licensing information, please see License.Doc.
  1466.  
  1467. Thanks for evaluating FastLst: the ultimate "Version 7+"
  1468. nodelist processor.
  1469.  
  1470. Version 7 is a common format for binary nodelists to be used by
  1471. mailers, message editors and all the programs that need fast
  1472. access to a compiled nodelist.
  1473.  
  1474. Version 7+ is fully compatible with V7 and adds lots of new
  1475. powerful features for V7+ aware applications.
  1476.  
  1477.  
  1478. ΓòÉΓòÉΓòÉ 4.1. Main Features ΓòÉΓòÉΓòÉ
  1479.  
  1480.              Main Features
  1481.  
  1482.  
  1483. - Compiles to Version 7+ format nodelist.
  1484.  
  1485. - Support for Version 7.
  1486.  
  1487. - Support for old "Fidouser.Lst" sysop list.
  1488.  
  1489. - Multiple output nodelist (NODEX.*) compilation from one config
  1490.  file.
  1491.  
  1492. - The complete maintenance of archived lists and diffs is
  1493.  achieved through internal flexible configuration, with no need
  1494.  for clumsy batch files.
  1495.  
  1496. - Uses "Squish Style" Compress.Cfg.
  1497.  
  1498. - Can be invoked from a batch file at predefined events: the
  1499.  compilation will take place only if some new list/diff is
  1500.  found.
  1501.  
  1502. - Multitasking friendly
  1503.  
  1504. - The OS/2 version allows for priority setting in the
  1505.  configuration file.
  1506.  
  1507. - Compilation reports can be posted to Fido or Squish format
  1508.  message areas.
  1509.  
  1510. - Full 4D (point) support, both via the "Point,..." and
  1511.  "Boss,..." keywords.
  1512.  
  1513. - Internal support for "German type" pointlists.
  1514.  
  1515. - Easy addition of nodes via the "Node,<address>,..." keyword
  1516.  in a private list.
  1517.  
  1518. - Easy specification of phone strings to be taken "verbatim"
  1519.  for internet addresses and script names.
  1520.  
  1521. - In the case of SysOps of multiple nodes, keeps all the
  1522.  name/address entries in the sysop index.
  1523.  
  1524. - User Cost (Msg Fee) can be set different from Call Cost.
  1525.  
  1526.  
  1527. ΓòÉΓòÉΓòÉ 4.2. Credits ΓòÉΓòÉΓòÉ
  1528.  
  1529.               CREDITS
  1530.  
  1531. This program uses the Squish "MsgAPI" code, Copyright 1991-1994
  1532. by Lanius Corporation. "Squish" and "Maximus" are trademarks of
  1533. Lanius Corporation.
  1534.  
  1535. "BinkleyTerm" is a trademark of Bit Bucket Software Co.
  1536.  
  1537. "4OS2" is a trademark of JP Software Inc.
  1538.  
  1539. The archivers referred-to throughout this documentation are
  1540. Copyright and/or trademarks of the respective owners.
  1541.  
  1542. "VMODEM" and "SIO" are Copyright by Raymond L. Gwinn.
  1543.  
  1544. "U.S. Robotics" and "I-modem" are registered trademarks of U.S.
  1545. Robotics Access Corporation.
  1546.  
  1547.  
  1548. ΓòÉΓòÉΓòÉ 4.3. Overall Operation ΓòÉΓòÉΓòÉ
  1549.  
  1550.             OVERALL OPERATION
  1551.  
  1552.  
  1553. FastLst has been designed to be invoked regularly from one of
  1554. your main batch files, after mail has been received or at
  1555. pre-arranged times at your pleasure: if any new (compressed or
  1556. not) nodelist/nodediff is detected, Fastlst processes them as
  1557. required (exiting with Errorlevel 0), otherwise it immediately
  1558. exits (errorlevel 100) with no further delay.
  1559.  
  1560. When FastLst detects a changed config or password file, it
  1561. compiles all the affected nodelists even if they are not new.
  1562.  
  1563. If you want FastLst to compile all of your nodelists even if no
  1564. new ones are present, you need to use the -f or -i command line
  1565. switch.
  1566.  
  1567. For each "output block" in the config file:
  1568.  
  1569. - New compressed lists or diffs are detected, unarchived and
  1570.  optionally rearchived in supplementary formats.
  1571.  
  1572. - New diffs are detected and applied: the resulting new nodelist
  1573.  is archived. Before applying a diff, the day number and CRC of
  1574.  the old nodelist are compared against the ones requested by
  1575.  the diff; after application, the CRC of the new nodelist is
  1576.  checked.
  1577.  
  1578. - New lists are detected and the pertinent output nodelists are
  1579.  rebuilt. If no new list is found for a specific "output
  1580.  block", that output nodelist is not compiled, unless the -f or
  1581.  -i command line switch is specified.
  1582.  
  1583. OS commands can be issued before or after each operation: for
  1584. example you can hatch the just created archive file.
  1585.  
  1586.  
  1587. ATTENTION:
  1588.  
  1589. - Every time a config file is changed, FastLst rebuilds all
  1590.  the output nodelists, as if the -f command line switch were
  1591.  specified.
  1592.  
  1593. - Every time a PasswordFile is changed, FastLst rebuilds the
  1594.  nodelists that use it.
  1595.  
  1596. - The date of the archive files handled by FastLst is set to
  1597.  the same value of the contained file (see ArcDate).
  1598.  
  1599.  
  1600. ΓòÉΓòÉΓòÉ 5. Input Nodelist Format ΓòÉΓòÉΓòÉ
  1601.  
  1602.            INPUT NODELIST FORMAT
  1603.  
  1604.  
  1605. The source nodelists and nodediffs must be in standard "St.
  1606. Louis" format, as described in FTS-0005. Anyway, FastLst allows
  1607. some extensions in order to support 4D points, "German style"
  1608. pointlists, easy single node specifications and "verbatim" phone
  1609. strings.
  1610.  
  1611.  
  1612. ΓòÉΓòÉΓòÉ 5.1. 4D Point Support: POINT and BOSS Keywords ΓòÉΓòÉΓòÉ
  1613.  
  1614.  
  1615.  
  1616.         4D Point Support: POINT and BOSS keywords
  1617.  
  1618.  
  1619. First method:
  1620.  
  1621. Points are entered in the nodelist directly following their
  1622. bossnode.  Each one starts with the "Point,<point>" keyword.
  1623.  
  1624. Example:
  1625.  
  1626. ...
  1627. ...
  1628. ,504,Videl,Modena_I,Roberto_Zanasi,39-59-450600,9600,CM,XA,V34
  1629. Point,1,Pasquale,Modena_I,Alberto_Pasquale,-!Unpublished-,9600,
  1630. Point,2,SysOp,Modena_I,Roberto_Zanasi,-!Unpublished-,9600,
  1631. Point,3,Carta,Modena,Francesco_Carta,-!Unpublished-,9600,
  1632. ...
  1633. ...
  1634.  
  1635.  
  1636.  
  1637. Second method:
  1638.  
  1639. Points are entered in the nodelist following the
  1640. "Boss,<address>" keyword.
  1641.  
  1642. Example:
  1643.  
  1644. ...
  1645. ...
  1646. Boss,2:332/504
  1647. ,1,Pasquale,Modena_I,Alberto_Pasquale,-!Unpublished-,9600,
  1648. ,2,SysOp,Modena_I,Roberto_Zanasi,-!Unpublished-,9600,
  1649. ,3,Carta,Modena,Francesco_Carta,-!Unpublished-,9600,
  1650. ...
  1651. ...
  1652.  
  1653.  
  1654.  
  1655. ΓòÉΓòÉΓòÉ 5.2. German Point List ΓòÉΓòÉΓòÉ
  1656.  
  1657.  
  1658.             German Point List
  1659.  
  1660.  
  1661. This is a "normal" 3D nodelist that lists each Boss as a
  1662. "fakenet" HOST, with the real address as the system name,
  1663. followed by its points listed as nodes.
  1664.  
  1665. Example:
  1666.  
  1667. The following nodelist segment lists points 2:2400/1.1 .2 .3:
  1668.  
  1669. Host,20000,2400/1,City,Sysop_Name,49-951-999999,9600,CM,V34
  1670. ,1,System_Name_1,City_1,Sysop_Name_1,49-951-999999,9600,
  1671. ,2,System_Name_2,City_2,Sysop_Name_2,49-951-999999,9600,
  1672. ,3,System_Name_3,City_3,Sysop_Name_3,49-951-999999,9600,
  1673.  
  1674.  
  1675.  
  1676. ΓòÉΓòÉΓòÉ 5.3. The NODE Keyword ΓòÉΓòÉΓòÉ
  1677.  
  1678.  
  1679.             The NODE Keyword
  1680.  
  1681.  
  1682. Another extension over FTS-0005 is provided to allow easy
  1683. addition of nodes in small private lists.
  1684.  
  1685. When you need to add a node to your nodelist to call it or to
  1686. enforce a session password with it, you can use the
  1687. "Node,<address>[ <region>[ <hub>]],..." keyword to avoid the
  1688. necessity of adding the entries for its coordinators.
  1689.  
  1690. You should specify a full 4D address (point optional).
  1691.  
  1692. Any subsequent entry will take the current address as a starting
  1693. point.
  1694.  
  1695. E.g.: You want to add 9:888/777.3 of Region 88, Hub 700.
  1696.  
  1697. Please note that there is no need to specify Region and Hub
  1698. information when using the Node and Boss keywords, since:
  1699.  
  1700. - if the point's Boss is included via some other nodelist, the
  1701.  Region and Hub information will be taken from its entry;
  1702.  
  1703. - if the point's Boss is not present in the compiled lists, this
  1704.  point will be removed from the indices (in this case you may
  1705.  want to use two entries for including both the Boss and the
  1706.  point);
  1707.  
  1708.  
  1709. With "Node,...":
  1710.  
  1711. ...
  1712. ...
  1713. Node,9:888/777.3,System,City,SysOp,1-234-555-6666,9600,CM
  1714. ...
  1715. ...
  1716.  
  1717.  
  1718. With "Boss,...":
  1719.  
  1720. ...
  1721. ...
  1722. Boss,9:888/777
  1723. ,3,System,City,SysOp,1-234-555-6666,9600,CM
  1724. ...
  1725. ...
  1726.  
  1727.  
  1728. With the traditional method:
  1729.  
  1730. ...
  1731. ...
  1732. Zone,9,...
  1733. Region,88,...
  1734. Host,888,...
  1735. Hub,700,...
  1736. ,777,...
  1737. Point,3,System,City,SysOp,1-234-555-6666,9600,CM
  1738. ...
  1739. ...
  1740.  
  1741.  
  1742.  
  1743. Now let's add 8:101/611 and 8:101/612 in region 10, hub 600:
  1744.  
  1745. With "Node,...":
  1746. ...
  1747. ...
  1748.  
  1749. Node,8:101/611 10 600,System,City,SysOp,1-234-555-6666,9600,CM
  1750. ,612,System,City,SysOp,1-234-555-6667,9600,CM
  1751. ...
  1752. ...
  1753.  
  1754.  
  1755. With the traditional method:
  1756.  
  1757. ...
  1758. ...
  1759. Zone,8,...
  1760. Region,10,...
  1761. Host,101,...
  1762. Hub,600,...
  1763. ,611,System,City,SysOp,1-234-555-6666,9600,CM
  1764. ,612,System,City,SysOp,1-234-555-6666,9600,CM
  1765. ...
  1766. ...
  1767.  
  1768.  
  1769.  
  1770. ΓòÉΓòÉΓòÉ 5.4. Verbatim Phones ΓòÉΓòÉΓòÉ
  1771.  
  1772.  
  1773.             Verbatim Phones
  1774.  
  1775. When a phone entry contains non-numeric characters, it is taken
  1776. verbatim (i.e. no dial translation is applied to adjust the area
  1777. code and long distance or international prefixes).
  1778.  
  1779. Call defaults are defined by the CostVerbatimPhone statement.
  1780.  
  1781. Note: you might need to change the dots '.' in internet
  1782. addresses to asterisks '*', in order to avoid that the mailer
  1783. (e.g. Binkley) translates them: see TypeDef.
  1784.  
  1785. Examples:
  1786.  
  1787. Internet address:
  1788.  
  1789. ,6,System,City,SysOp,Fantasy.Com,9600,CM,VM
  1790.  
  1791. IP address:
  1792.  
  1793. ,6,System,City,SysOp,123.456.789.012,9600,CM,VM
  1794.  
  1795. Script name:
  1796.  
  1797. ,6,System,City,SysOp,"Fantasy.Scr",9600,CM,V34
  1798.  
  1799. See also the Phone statement.
  1800.  
  1801.  
  1802. ΓòÉΓòÉΓòÉ 6. Miscellaneous Info ΓòÉΓòÉΓòÉ
  1803.  
  1804.  
  1805.             MISCELLANEOUS INFO
  1806.  
  1807.  
  1808. ΓòÉΓòÉΓòÉ 6.1. Multiple Sysops ΓòÉΓòÉΓòÉ
  1809.  
  1810.  
  1811.             Multiple Sysops
  1812.  
  1813.  
  1814. In the case of SysOps of more than one system, all the
  1815. name/address couples of compiled entries are output to the SysOp
  1816. index.
  1817.  
  1818.  
  1819. ΓòÉΓòÉΓòÉ 6.2. Redirected Systems ΓòÉΓòÉΓòÉ
  1820.  
  1821.  
  1822.             Redirected Systems
  1823.  
  1824.  
  1825. Systems that have no valid phone number (Unpublished, on Hold),
  1826. are redirected, provided you do not exclude redirection using
  1827. the "NoRedir" config keyword.
  1828.  
  1829. A redirected system is given the phone number, baud rate, modem
  1830. type, cost and flags of the preceding coordinator, the Board
  1831. name is prepended with '-R-'.
  1832.  
  1833. If you have a session password with the system to be redirected
  1834. or with the system it should be redirected to, no redirection is
  1835. done in order to prevent password-mismatch errors in the case
  1836. the Unpublished/Hold system calls you.
  1837.  
  1838. Points are never redirected.
  1839.  
  1840. The systems that have no valid phone number and cannot be
  1841. redirected take an EMPTY phone number string, so that your
  1842. mailer does not send unexpected strings to your modem attempting
  1843. to call these systems, should something appear in your outbound
  1844. addressed to them.
  1845.  
  1846. Pay attention: if you want to directly call these
  1847. null_phone-systems or their coordinators, you have to give them
  1848. a phone number using the "Phone" statement in the configuration
  1849. file.
  1850.  
  1851.  
  1852.  
  1853. ΓòÉΓòÉΓòÉ 7. Installation ΓòÉΓòÉΓòÉ
  1854.  
  1855.  
  1856.              INSTALLATION
  1857.  
  1858.  
  1859. 1) There are 3 versions of FastLst:
  1860.  
  1861.   OS/2, W32, DOS 32 (with DOS4GW DOS Extender), distributed in
  1862.   separate archives (see Readme.1st).
  1863.  
  1864.   Choose the one that fits you better.
  1865.  
  1866. 2) Write your FastLst.Cfg.
  1867.   You can find useful examples in the Fast_*.Cfg files and
  1868.   detailed information in the "CFG REFERENCE" section of this
  1869.   documentation.
  1870.  
  1871.  
  1872. 3) Edit your batch file in order to call FastLst whenever you
  1873.   would like to test for the presence of new list/diff files
  1874.   and process them. If you do not pass a different pathname as
  1875.   a command line parameter, FastLst.Cfg must reside in the
  1876.   current directory.
  1877.  
  1878.  
  1879. 4) (OS/2): Make sure you have the MSGAPI32.DLL in a directory
  1880.    contained in your LIBPATH. MSGAPI32.DLL can be found in the
  1881.    Squish 1.11 archive (SQSHP111.LZH).
  1882.  
  1883.  
  1884.   (W32): Make sure you have the MSGAPINT.DLL in a directory
  1885.    contained in your PATH. MSGAPINT.DLL can be found in the
  1886.    Max 3.01 for Windows archive (MAX301N.ZIP).
  1887.  
  1888.  
  1889.   (DOS32): Make sure you have the DOS4GW.EXE Dos extender (from
  1890.    Tenberry Software Inc.) in your path.
  1891.  
  1892.    The DOS4GW extender requires an XMS or DPMI memory driver
  1893.    installed in your config.sys: e.g. HIMEM.SYS, QEMM (by
  1894.    QuarterDeck Office Systems Inc.).
  1895.  
  1896.  
  1897. 5) FastLst requires a lot of memory to compile long nodelists.
  1898.  
  1899.   A set of input nodelists totalling 60,000 nodes requires
  1900.   approximately 12MB for V7+ "in memory" compilation, 7MB when
  1901.   using "on disk" DTP linking and 4.5MB for simple V7.
  1902.  
  1903.   You have to decide whether to use the "LinkOnDisk"
  1904.   statement in the configuration file. If you have enough
  1905.   physical memory available you should use the default "in
  1906.   memory" mode. On the other hand, if the execution of FastLst
  1907.   is excessively slow, you probably are low on memory and you
  1908.   could benefit by the use of "on disk" DTP linking.
  1909.  
  1910.   (DOS): Even if "in memory" DTP linking is
  1911.    configured, FastLst automatically switches to "on disk"
  1912.    mode if it cannot allocate the needed memory.
  1913.  
  1914.    If you experience "out of memory" errors, then you have to
  1915.    enable the DOS4GW virtual memory mode, using the DOS4GVM
  1916.    environment variable (e.g. for 16MB virtual allocation
  1917.    size: SET DOS4GVM=VirtualSize#16384).
  1918.  
  1919.    This works under real Dos only: if you are using OS/2 dos
  1920.    sessions, use a higher DPMI_MEMORY_LIMIT in the Dos
  1921.    settings.
  1922.  
  1923.    Please note that FastLst tells you (on screen, in the
  1924.    logs, in the report message) how much memory remains during
  1925.    compilation, so that you can realize when you are running
  1926.    in marginal conditions and consequently adjust your
  1927.    configuration before you run out of memory.
  1928.  
  1929.  
  1930. ΓòÉΓòÉΓòÉ 8. Command Line Switches ΓòÉΓòÉΓòÉ
  1931.  
  1932.  
  1933.            COMMAND LINE SWITCHES
  1934.  
  1935.  
  1936. -c<cfg>
  1937.     Use <cfg> configuration file instead of FASTLST.CFG.
  1938.  
  1939. -f
  1940.     Force compilation even if no new list/diff has been
  1941.     detected.
  1942.  
  1943. -i
  1944.     Ignore FastLst.Dat: run as if it were the first time.
  1945.     All nodelists compiled, all exports executed.
  1946.  
  1947. -p
  1948.     Prepare: Unarc new lists and diffs, Apply diffs and Arc
  1949.     new nodelists, do not compile nodelists.
  1950.  
  1951. -r
  1952.     When applying a diff, FastLst usually deletes the newly
  1953.     generated source nodelist file if a CRC error is
  1954.     detected. With this switch the new nodelist is _not_
  1955.     deleted, so that it will be processed anyway.
  1956.  
  1957.     When compiling a list, FastLst usually aborts the
  1958.     compilation of the current output nodelist if a CRC
  1959.     error is detected. With this switch the current output
  1960.     nodelist will be entirely compiled anyway.
  1961.  
  1962. -h or -?
  1963.     for help
  1964.  
  1965.  
  1966. ΓòÉΓòÉΓòÉ 9. Errorlevels ΓòÉΓòÉΓòÉ
  1967.  
  1968.  
  1969.              ERRORLEVELS
  1970.  
  1971.  
  1972.  0 - Normal termination, something compiled
  1973.  1 - Help requested
  1974.  2 - File Open error
  1975.  3 - Abnormal termination
  1976.  4 - Disk Full
  1977.  5 - Can't find config file
  1978.  6 - Configuration error
  1979.  7 - Out of memory
  1980.  8 - Read error while applying diff
  1981.  9 - CRC error (applying diff)
  1982.  10 - CRC error (compiling list)
  1983.  11 - User Break
  1984.  12 - Cannot rename temporary output nodelist files
  1985.  13 - Cannot open source nodelist file
  1986.  14 - Timeout waiting on V7+ semaphore
  1987.  15 - Too many nodelists in inbound directories
  1988.  16 - Nothing found after unarchiving a fixed-name nodelist
  1989.  17 - Error Linking output files
  1990.  
  1991. 100 - Normal termination, nothing compiled
  1992.  
  1993. 250 - MsgApi: Init Error
  1994. 251 - MsgApi: Area Open Error
  1995. 252 - MsgApi: Area Lock Error
  1996. 253 - MsgApi: Area Close Error
  1997.  
  1998.  
  1999. ΓòÉΓòÉΓòÉ 10. Configuration ΓòÉΓòÉΓòÉ
  2000.  
  2001.  
  2002.              CONFIGURATION
  2003.  
  2004.  
  2005. Before analyzing the cfg keywords in detail, let's introduce the
  2006. overall mechanism that is at the basis of FastLst's
  2007. configuration.
  2008.  
  2009. If you are converting from a different nodelist compiler, please
  2010. forget the old configuration and start from scratch.
  2011.  
  2012. FastLst.Cfg is divided into several logical blocks and the
  2013. sequence of the various statements is essential: you cannot just
  2014. put keywords somewhere in the config file; they must be arranged
  2015. in the correct order.
  2016.  
  2017. At first, this characteristic of FastLst's configuration might
  2018. appear complex to understand, but, as soon as you will grasp its
  2019. logic, you will understand that it's really easy to write a
  2020. correct configuration file and you will appreciate its
  2021. extraordinary flexibility.
  2022.  
  2023. The first block of configuration is the "Global" one.
  2024. The verbs in this block refer to the compilation of all the
  2025. nodelists.
  2026.  
  2027. Then there are one or more "Output Blocks": each output block
  2028. refers to the compilation of a single nodelist (e.g.
  2029. NODEX.*).
  2030.  
  2031. Each "Output Block" has a "Output section" (with statements
  2032. regarding the compilation of the whole <NODEX>.* list) and one
  2033. or more "Input blocks" containing the verbs that describe how to
  2034. compile each of the source nodelists.
  2035.  
  2036. The first "Output Block" can optionally be of a special kind: a
  2037. "NoCompile" block, whose "Input Blocks" describe nodelists that
  2038. must be maintained (e.g. diffs applied) but not compiled to any
  2039. <NODEX>.* list.
  2040.  
  2041. Some statements can be used in blocks of a particular type only,
  2042. others can be used in many different places depending on what
  2043. nodelists you want to be affected. As a rule of thumb, you can
  2044. use each statement anywhere it seems to be logically acceptable.
  2045.  
  2046. If you feel frightened by such abstract considerations, please
  2047. take a look at the example Fast*.Cfg files, so that you can
  2048. quickly realize it's not that difficult.
  2049.  
  2050. To write your own configuration file you should start modifying
  2051. the example one that is more adequate to your needs.
  2052.  
  2053. Now, let's consider all the verbs that are allowed in FastLst's
  2054. configuration.
  2055.  
  2056.  
  2057. ΓòÉΓòÉΓòÉ 11. Cfg Reference ΓòÉΓòÉΓòÉ
  2058.  
  2059.  
  2060.              CFG REFERENCE
  2061.  
  2062.  
  2063.  
  2064. - Items between square brackets (e.g. [<item>]) are optional.
  2065.  
  2066. - The names of the various Keywords are NOT case sensitive.
  2067.  
  2068. - When a directory path is required, the trailing backslash '\'
  2069.  is optional.
  2070.  
  2071. - The ';' character starts comments: any character following the
  2072.  ';' is ignored, unless inside quoted strings.
  2073.  
  2074. - The maximum length of configuration lines is 254 characters,
  2075.  so don't go further (you can always split address lists into
  2076.  smaller ones).
  2077.  
  2078. - In the OS/2 version, any file specification can be a legal
  2079.  OS/2 name, between double quotes if necessary.
  2080.  
  2081. Please, note that the order of the configuration statements
  2082. follows some logical rule. In order not to create confusion in
  2083. the .cfg file and not to break some _necessary_ order relation,
  2084. please follow the scheme proposed in the example Fast*.CFG files
  2085. and in this reference documentation.
  2086.  
  2087. Please, be aware that the generation of text files (FidoTxt,
  2088. FidoPrn, FidoUserLst verbs) and the use of lots of options and
  2089. overrides can slow down the compilation process: use only the
  2090. options/overrides that you really need if you mind compilation
  2091. time.
  2092.  
  2093.  
  2094. ΓòÉΓòÉΓòÉ 11.1. Include ΓòÉΓòÉΓòÉ
  2095.  
  2096.  
  2097. Include <filename>
  2098.  
  2099.  You can split the configuration into multiple files, including
  2100.  them via this statement, which can be used everywhere and
  2101.  nested without limits.
  2102.  
  2103.  
  2104. ΓòÉΓòÉΓòÉ 11.2. Global ΓòÉΓòÉΓòÉ
  2105.  
  2106.              G L O B A L
  2107.  
  2108.  
  2109. The following verbs can be used in the Global section of
  2110. FastLst.cfg. Some of them can be used in other places also, so
  2111. they are divided into separate sections.
  2112.  
  2113.  
  2114.  
  2115.  
  2116. ΓòÉΓòÉΓòÉ 11.2.1. Section A ΓòÉΓòÉΓòÉ
  2117.  
  2118.              G L O B A L
  2119.  
  2120.               Section A
  2121.  
  2122.  
  2123.  
  2124. The following configuration verbs can be used in the GLOBAL
  2125. section of FastLst.Cfg.
  2126.  
  2127.  
  2128. ΓòÉΓòÉΓòÉ 11.2.1.1. RegKey ΓòÉΓòÉΓòÉ
  2129.  
  2130.  
  2131. RegKey <RegKey>
  2132.  
  2133.     Registered Users only: <RegKey> is the registration key
  2134.     and it is NOT case sensitive.
  2135.  
  2136.   Example:
  2137.  
  2138.     RegKey dfhyuwru6274623
  2139.  
  2140.  
  2141. ΓòÉΓòÉΓòÉ 11.2.1.2. Priority ΓòÉΓòÉΓòÉ
  2142.  
  2143.  
  2144. Priority <type> [<level>]
  2145.  
  2146.     Changes the execution priority of the FastLst process
  2147.     (OS/2 only).
  2148.  
  2149.     Ignored by NT and DOS versions.
  2150.  
  2151.     <type> is one of: Idle Regular High
  2152.  
  2153.     <level> is an integer in the range 0...31 and defaults
  2154.     to 0.
  2155.  
  2156.     If you do not use this statement, FastLst will run at
  2157.     the default priority, which normally is "Regular 0".
  2158.  
  2159.   Examples:
  2160.  
  2161.     Priority High 31
  2162.  
  2163.      Gives Fastlst the highest priority for "non
  2164.      time-critical" processes. It will run fast even if it
  2165.      is in the background and other processes are active.
  2166.  
  2167.  
  2168.     Priority Idle
  2169.  
  2170.      Gives FastLst the lowest priority, so that it loads
  2171.      the system as minimally as possible. It will run
  2172.      significantly slower, especially if in the background
  2173.      or when other CPU intensive processes are in
  2174.      execution.
  2175.  
  2176.  
  2177. ΓòÉΓòÉΓòÉ 11.2.1.3. StatusLog ΓòÉΓòÉΓòÉ
  2178.  
  2179.  
  2180. StatusLog <LogFile>
  2181.  
  2182.     <LogFile> is the name of the file where all the
  2183.     operations performed by FastLst will be logged,
  2184.     following the "Binkley Style".
  2185.  
  2186.     In multitasking environments, please be sure to use a
  2187.     file that cannot be used by other processes at the same
  2188.     time. For example: if (in your system) FastLst can be
  2189.     executed while Binkley is running, please use different
  2190.     log files.
  2191.  
  2192.     Should you not want the log file, you can comment this
  2193.     keyword out.
  2194.  
  2195.   Example:
  2196.  
  2197.     StatusLog d:\bbs\log\FastLst.log
  2198.  
  2199.  
  2200. ΓòÉΓòÉΓòÉ 11.2.1.4. CompressCfg ΓòÉΓòÉΓòÉ
  2201.  
  2202.  
  2203. CompressCfg <compress_cfg>
  2204.  
  2205.     This is a "Squish style" compress definition file.
  2206.  
  2207.     In the case you are using a case-sensitive
  2208.     de/compression program (e.g. OS/2 ZIP/UNZIP), please
  2209.     make sure to use the correct switches in <compress_cfg>
  2210.     and/or the correct case (Lower/Upper) in <NodeList> and
  2211.     <NodeDiff> specifications.
  2212.  
  2213.     You can find the suggested <compress_cfg> in the example
  2214.     Compress.Cfg file included in the FastLst pack.
  2215.  
  2216.     If you are already using Squish and/or Maximus, you can
  2217.     just specify the name of their compress.cfg (but do
  2218.     check that they indicate the necessary switches to avoid
  2219.     case sensitiveness during extraction).
  2220.  
  2221.     Refer to the "Compress Definition File" section at the
  2222.     end of this document for the syntax of <compress_cfg>.
  2223.  
  2224.  
  2225. ΓòÉΓòÉΓòÉ 11.2.1.5. InputPath ΓòÉΓòÉΓòÉ
  2226.  
  2227.  
  2228. InputPath <NodeDir>
  2229.  
  2230.     Specifies the default path for input files (source
  2231.     nodelists/nodediffs). You can override it by using a
  2232.     full pathname in input-file specifications.
  2233.  
  2234.     Created if not existing.
  2235.  
  2236.   Example:
  2237.  
  2238.     InputPath d:\bbs\nodelist\
  2239.  
  2240.  
  2241. ΓòÉΓòÉΓòÉ 11.2.1.6. ArcPath ΓòÉΓòÉΓòÉ
  2242.  
  2243.  
  2244. ArcPath <ArcNodeDir>
  2245.  
  2246.     Specifies the default path for Archived nodelist files.
  2247.     It usually points to the file area where your TIC
  2248.     processor moves the inbound nodelist archives.
  2249.  
  2250.     You can override it by using a full pathname in
  2251.     Archived-file specifications.
  2252.  
  2253.   Example:
  2254.  
  2255.     ArcPath d:\bbs\file\nodelist\
  2256.  
  2257.  
  2258. ΓòÉΓòÉΓòÉ 11.2.1.7. ArcDate ΓòÉΓòÉΓòÉ
  2259.  
  2260.  
  2261. ArcDate Write|Creation
  2262.  
  2263.   (OS/2)
  2264.     Selects the date to be used for computing the age of
  2265.     fixed-name archived nodelist files.
  2266.  
  2267.     This setting is useful for HPFS (which has separate
  2268.     Write and Creation dates) and ignored for FAT.
  2269.  
  2270.     If not specified, "Creation" is assumed.
  2271.  
  2272.     Attention: in order to avoid problems in the case the
  2273.     date has been corrupted during the transfer of the file,
  2274.     it is best to choose the same date that your mailer sets
  2275.     as "receive/upload" date or that is touched by your TIC
  2276.     processor.
  2277.  
  2278.   Examples:
  2279.  
  2280.     ArcDate Write    ; Use the Write date
  2281.     ArcDate Creation   ; same as default
  2282.  
  2283.  
  2284. ΓòÉΓòÉΓòÉ 11.2.1.8. MultiLineDesc ΓòÉΓòÉΓòÉ
  2285.  
  2286.  
  2287. MultiLineDesc <nnn> [<c>]
  2288.  
  2289.     By default, files.bbs description must be on a single
  2290.     line; this statement enables Multi-Line support.
  2291.  
  2292.     <nnn> is the number of spaces that must precede the
  2293.     continuation lines.
  2294.  
  2295.     <c> is the continuation character.
  2296.  
  2297.     If <c> is NOT specified, it is assumed that the
  2298.     continuation lines must be preceded by <nnn> spaces.
  2299.  
  2300.     If <c> IS specified, it is assumed that the continuation
  2301.     lines must be preceded by <nnn> spaces, the <c>
  2302.     character and one more space.
  2303.  
  2304.     For example, to have the 2nd and following description
  2305.     lines in files.bbs start at the 32nd column, use:
  2306.  
  2307.     MultiLineDesc 31
  2308.  
  2309.     A description in files.bbs would be like:
  2310.  
  2311.     Test.Zip This is the first description line
  2312.                     this is the 2nd line
  2313.                     this is the 3rd line
  2314.     ^               ^^
  2315.     1              31  32
  2316.  
  2317.     To have the continuation lines preceded by a '|'
  2318.     character, use:
  2319.  
  2320.     MultiLineDesc 29 |
  2321.  
  2322.     A description in files.bbs would be like:
  2323.  
  2324.     Test.Zip This is the first description line
  2325.                    | this is the 2nd line
  2326.                    | this is the 3rd line
  2327.     ^              ^  ^
  2328.     1              29  32
  2329.  
  2330.  
  2331. ΓòÉΓòÉΓòÉ 11.2.1.9. KillAfter ΓòÉΓòÉΓòÉ
  2332.  
  2333.  
  2334. KillAfter
  2335.  
  2336.     Old output files are killed after the new ones have been
  2337.     successfully written.
  2338.  
  2339.     The new output files are written to temporary names,
  2340.     then the old ones are killed and the new ones renamed
  2341.     (and FastLst retries for 30s in case of error, to be
  2342.     multitasking smart).
  2343.  
  2344.     Thus you will always have a valid compiled nodelist,
  2345.     even in the case of a compilation error and consequent
  2346.     compile abortion. Besides, your multitasking system can
  2347.     continue operations while FastLst is working. On the
  2348.     other hand you might need some more spare disk space to
  2349.     hold the old and new files during compilation.
  2350.  
  2351.  
  2352. ΓòÉΓòÉΓòÉ 11.2.1.10. KillSource ΓòÉΓòÉΓòÉ
  2353.  
  2354.  
  2355. KillSource
  2356.  
  2357.     Tells FastLst to kill all uncompressed nodelists (that
  2358.     are also available in archived format) before
  2359.     terminating.
  2360.  
  2361.     Please note that FastLst deletes a source nodelist only
  2362.     if the ArcList statement is defined.
  2363.  
  2364.     Besides, when the NodeDiff statement is used, an
  2365.     ArcMethod must be defined to allow the deletion of the
  2366.     nodelist.
  2367.  
  2368.     When no NodeDiff is defined, FastLst assumes that the
  2369.     uncompressed NodeList has been extracted from a
  2370.     corresponding archive.
  2371.  
  2372.  
  2373. ΓòÉΓòÉΓòÉ 11.2.1.11. BeforeKillSource ΓòÉΓòÉΓòÉ
  2374.  
  2375.  
  2376. BeforeKillSource <command>
  2377.  
  2378.     This statement is used to invoke a command of your
  2379.     choice before the source nodelists are killed, upon
  2380.     FastLst completion.
  2381.  
  2382.     <command> is executed even if "KillSource" is not used.
  2383.     It is a means of invoking a command before FastLst ends.
  2384.  
  2385.     The "NeededBeforeKill" verb must be used to specify the
  2386.     NodeLists needed by this command: if one of these
  2387.     nodelists is found new, then this command is invoked
  2388.     after decompressing all the nodelists that have the
  2389.     "NeededBeforeKill" attribute (and have not been
  2390.     decompressed yet).
  2391.  
  2392.     IMPORTANT: <command> is executed ONLY if some nodelist
  2393.     affected by a "NeededBeforeKill" verb has been detected
  2394.     as new.
  2395.  
  2396.     <command> can be any command that is valid for the
  2397.     command interpreter specified in your COMSPEC
  2398.     environment variable.
  2399.  
  2400.     If <command> invokes an executable file, it is loaded
  2401.     and executed directly; otherwise your command
  2402.     interpreter is invoked, so that you can execute a batch
  2403.     file or any other valid command.
  2404.  
  2405.     No variable parameters are supported.
  2406.  
  2407.  
  2408. ΓòÉΓòÉΓòÉ 11.2.1.12. Dash2Comma ΓòÉΓòÉΓòÉ
  2409.  
  2410.  
  2411. Dash2Comma
  2412.  
  2413.     Change dashes to commas in the phone numbers.
  2414.  
  2415.     Useful for people that are still connected to ancient
  2416.     "rotary pulse" electromechanic telephone exchanges.
  2417.  
  2418.  
  2419. ΓòÉΓòÉΓòÉ 11.2.1.13. NoReport ΓòÉΓòÉΓòÉ
  2420.  
  2421.  
  2422. NoReport
  2423.  
  2424.     Do not output nodelist statistics
  2425.  
  2426.  
  2427. ΓòÉΓòÉΓòÉ 11.2.1.14. NoRedir ΓòÉΓòÉΓòÉ
  2428.  
  2429.  
  2430. NoRedir
  2431.  
  2432.     Nodes that do not have a valid phone number (Hold,
  2433.     Unpublished) are usually redirected to their
  2434.     coordinators.
  2435.  
  2436.     When this verb is used, redirection does not take place
  2437.     and the node is given an empty phone number, so that you
  2438.     never call a system different from that you think you
  2439.     are calling.
  2440.  
  2441.     Please note that (even with no NoRedir verb):
  2442.     - points are never redirected;
  2443.     - if you have a password with a system or its
  2444.      coordinator, this node will never be redirected.
  2445.  
  2446.  
  2447. ΓòÉΓòÉΓòÉ 11.2.1.15. V7BugFix ΓòÉΓòÉΓòÉ
  2448.  
  2449.  
  2450. V7BugFix
  2451.  
  2452.     Circumvents a bug with V7 nodelist in Binkley 2.50 (and
  2453.     perhaps in many other programs whose V7 search function
  2454.     was inspired by Binkley's sources) that can sometimes
  2455.     hide segments of V7 nodelist.
  2456.  
  2457.     Binkley 2.60 is OK, but some other programs may not: if
  2458.     you are unsure, keep this keyword active.
  2459.  
  2460.  
  2461. ΓòÉΓòÉΓòÉ 11.2.1.16. MsgLogArea ΓòÉΓòÉΓòÉ
  2462.  
  2463.  
  2464. MsgLogArea <path> [-$]
  2465.  
  2466.     Some information about the compilation can be reported
  2467.     to a fido or squish message area.
  2468.  
  2469.     <path> indicates a message area for reporting
  2470.         compilation logs.
  2471.  
  2472.     -$   specifies that the area is in Squish format;
  2473.         otherwise it is assumed to be *.MSG.
  2474.  
  2475.     The "MsgLog" and "LogStats" statements can be used
  2476.     to add some information that is not reported by default.
  2477.  
  2478.   Examples:
  2479.  
  2480.     MsgLogArea \bbs\mail\net -$
  2481.     MsgLogArea \bbs\mail\net\
  2482.  
  2483.  
  2484. ΓòÉΓòÉΓòÉ 11.2.1.17. MsgRemArea ΓòÉΓòÉΓòÉ
  2485.  
  2486.  
  2487. MsgRemArea <path> [-$]
  2488.  
  2489.     The comments found in the compiled nodelists can be
  2490.     selectively reported to a fido or squish message area.
  2491.  
  2492.     <path> indicates a message area for reporting
  2493.         compilation logs.
  2494.  
  2495.     -$   specifies that the area is in Squish format;
  2496.         otherwise it is assumed to be *.MSG.
  2497.  
  2498.     The "MsgRem" statement (see Global Section C) MUST be
  2499.     used to specify which types of comments you want to be
  2500.     reported.
  2501.  
  2502.     Please note that no comments are reported if no "MsgRem"
  2503.     statement is used.
  2504.  
  2505.   Examples:
  2506.  
  2507.     MsgRemArea \bbs\mail\net -$
  2508.     MsgRemArea \bbs\mail\net\
  2509.  
  2510.  
  2511. ΓòÉΓòÉΓòÉ 11.2.1.18. MsgFromNode/MsgToNode ΓòÉΓòÉΓòÉ
  2512.  
  2513.  
  2514. MsgFromNode <address>
  2515. MsgToNode <address>
  2516.  
  2517.     Specify the addresses for the created messages.
  2518.  
  2519.     <address> is a 4D address.
  2520.  
  2521.   Example:
  2522.  
  2523.     MsgFromNode 2:332/504
  2524.     MsgToNode  2:332/504.1
  2525.  
  2526.  
  2527. ΓòÉΓòÉΓòÉ 11.2.1.19. MsgTo ΓòÉΓòÉΓòÉ
  2528.  
  2529.  
  2530. MsgTo <name>
  2531.  
  2532.     Specifies the name of the addressee of the created
  2533.     messages.
  2534.  
  2535.   Example:
  2536.  
  2537.     MsgTo Alberto Pasquale
  2538.  
  2539.  
  2540. ΓòÉΓòÉΓòÉ 11.2.1.20. MsgAttr ΓòÉΓòÉΓòÉ
  2541.  
  2542.  
  2543. MsgAttr <attributes>
  2544.  
  2545.     Specifies the attributes for the created messages.
  2546.  
  2547.     <attributes> can be a (not case sensitive) combination
  2548.     of:
  2549.  
  2550.     P : Private
  2551.     K : Kill/Sent
  2552.     C : Crash
  2553.     H : Hold
  2554.     D : Direct (crash + hold in squish messages)
  2555.  
  2556.   Examples:
  2557.  
  2558.     MsgAttr P
  2559.     MsgAttr pk
  2560.  
  2561.  
  2562. ΓòÉΓòÉΓòÉ 11.2.1.21. MsgSize ΓòÉΓòÉΓòÉ
  2563.  
  2564.  
  2565. MsgSize <bytes>
  2566.  
  2567.     Specifies the maximum size of a single message: after
  2568.     this length, the message is split.
  2569.  
  2570.     Defaults to 7K, greater values are recommended, so that
  2571.     the message is not divided into too many parts.
  2572.  
  2573.   Example:
  2574.  
  2575.     MsgSize 60000
  2576.  
  2577.  
  2578. ΓòÉΓòÉΓòÉ 11.2.1.22. CostNullPhone ΓòÉΓòÉΓòÉ
  2579.  
  2580.  
  2581. CostNullPhone <Cost> [<UCost>]
  2582.  
  2583.     Specifies the costs to be assigned to nodes with empty
  2584.     (unpublished, etc.) phone number.
  2585.  
  2586.     <Cost> is the "call cost" .
  2587.     <UCost> is the "user cost" (fee for netmail messages).
  2588.  
  2589.     <UCost> defaults to <Cost>.
  2590.  
  2591.     If CostNullPhone is not used, <Cost> defaults to 65535
  2592.     and <UCost> to 0.
  2593.  
  2594.   Example:
  2595.  
  2596.     CostNullPhone 1000 0
  2597.  
  2598.   Note:
  2599.  
  2600.     Some programs might have bugs that cause problems
  2601.     dealing with high costs (such as the default 65535).
  2602.     Should you experience problems with entries that have a
  2603.     "NullPhone", try setting a lower cost e.g.
  2604.     "CostNullPhone 900 0".
  2605.  
  2606.  
  2607. ΓòÉΓòÉΓòÉ 11.2.1.23. CostVerbatimPhone ΓòÉΓòÉΓòÉ
  2608.  
  2609.  
  2610. CostVerbatimPhone <Cost> [<UCost>]
  2611.  
  2612.     Specifies the costs to be assigned to nodes that have
  2613.     a verbatim phone specification.
  2614.  
  2615.     <Cost> is the "call cost" .
  2616.     <UCost> is the "user cost" (fee for netmail messages).
  2617.  
  2618.     <UCost> defaults to <Cost>.
  2619.  
  2620.     If the statement is not used, both costs default to 0.
  2621.  
  2622.   Example:
  2623.  
  2624.     CostVerbatimPhone 10 0
  2625.  
  2626.  
  2627. ΓòÉΓòÉΓòÉ 11.2.1.24. Dial/Cost Table ΓòÉΓòÉΓòÉ
  2628.  
  2629.  
  2630.          Dial/Cost translation Table
  2631.  
  2632.  
  2633. With this table you specify the dial translations and the costs
  2634. to be applied depending on the phone number.
  2635.  
  2636. Note: This table is not used against "Verbatim Phones".
  2637.  
  2638. The table begins with "Dial" and ends with the "End" keyword.
  2639.  
  2640. Each entry has the following format:
  2641.  
  2642. <PartPhone> <PreSuf> [<Costs>]
  2643.  
  2644.  
  2645. The following two keywords allow to specify groups of exchanges
  2646. that must be handled by a certain dial table entry:
  2647.  
  2648.  
  2649. LocalValues <PartPhone> <PreSuf> [<Costs>]
  2650.  
  2651.     This keyword is provided for clarity only: it is
  2652.     taken just as a normal specification with no
  2653.     heading "LocalValues".
  2654.  
  2655.  
  2656. LocalExchanges <num> ...
  2657.  
  2658.     Lists all the exchanges that must be handled as per the
  2659.     preceding dial translation entry (which may be preceded
  2660.     by the "LocalValues" keyword for clarity).
  2661.  
  2662.     Please remember that the line length is limited to 254
  2663.     characters.
  2664.  
  2665.     You can use multiple "LocalExchanges <num> ..."
  2666.     statements if you like short lines or need more than
  2667.     254 characters.
  2668.  
  2669.     Please note that all numbers that (after <PartPhone>
  2670.     stripping) begin with <num> are considered local.
  2671.     For example, if 220, 221, 222, 223, 224, 225, 226, 227,
  2672.     228, 229 are all local exchanges, you can indicate 22 to
  2673.     include them all.
  2674.  
  2675.  
  2676. The use of these two statements in the place of a long list of
  2677. normal table lines (one for each local exchange) should also
  2678. speed up the processing of all the nodelist entries that are not
  2679. in your area code.
  2680.  
  2681.  
  2682.  
  2683. <PartPhone>
  2684.     is a partial phone number to be matched with the initial
  2685.     part of nodelist entries. The dashes are ignored. The
  2686.     <PartPhone> of the last entry must be a single dash "-",
  2687.     to mean that all the remaining numbers will take the
  2688.     parameters specified there.
  2689.  
  2690. <PreSuf>
  2691.     can be one of:
  2692.       a: <Prefix>
  2693.       b: /<Suffix>
  2694.       c: <Prefix>/<Suffix>
  2695.       d: /
  2696.  
  2697.     <PartPhone> is stripped from numbers beginning with it,
  2698.     then <PreSuf> is used to prepend/append the specified
  2699.     strings to the remainder.
  2700.  
  2701.     Case a: <Prefix> is prepended.
  2702.         e.g.: "39- 0"
  2703.         strips "39-" and adds "0" at the beginning of
  2704.         the number.
  2705.  
  2706.     Case b: <Suffix> is appended.
  2707.         e.g.: "39-59- /!"
  2708.         strips "39-59-" and adds "!" at the end of the
  2709.         number.
  2710.  
  2711.     Case c: <Prefix> is prepended and <Suffix> appended.
  2712.         e.g.: "39- 0/!"
  2713.         strips "39-", adds "0" at the beginning and "!"
  2714.         at the end.
  2715.  
  2716.     Case d: Nothing is prepended nor appended.
  2717.         e.g.: "/"
  2718.         The slash is needed to allow the correct
  2719.         interpretation of the subsequent fields.
  2720.  
  2721.     No spaces are allowed between prefix, suffix and the
  2722.     separating slash.
  2723.  
  2724. <Costs>
  2725.  
  2726. You can specify up to 4 cost fields:
  2727.  
  2728. <Cost> [<UCost> [<DigCost> [<DigUCost>]]]
  2729.  
  2730. Each one has a range 0-65535.
  2731.  
  2732. <Cost>   is the Call cost, default: 65535.
  2733. <UCost>   is the User cost, default: <Cost>.
  2734. <DigCost>  is the Digital Call cost, default: <Cost>.
  2735. <DigUCost> is the Digital User cost.
  2736.  
  2737. <DigUCost> defaults to <DigCost> if it is specified, otherwise
  2738. it defaults to <UCost>.
  2739.  
  2740. If you like your users to send netmail messages from the BBS
  2741. with no need for "credits", you should set <UCost> and
  2742. <DigUCost> to 0.
  2743.  
  2744. When searching for "PartPhone", the first matching entry is
  2745. applied: in the case of entries with an initial part in common,
  2746. you have to specify them in sequence from the longest to the
  2747. shortest. If no match is possible, the last line specifies the
  2748. default (thereby international) parameters.
  2749.  
  2750. WARNING: This table CANNOT be left totally empty: it must
  2751. contain at least the default entry  "- [<PreSuf>]".
  2752.  
  2753.  
  2754.   Example 1a/b/c (North American viewpoint):
  2755.  
  2756.     There are some groups of phone numbers:
  2757.  
  2758.     1 - Local numbers.
  2759.       These are usually "toll free" numbers.
  2760.       As a rule of thumb, you must only dial the local
  2761.       number, stripping the Country Code "1" and the
  2762.       Area Code.
  2763.       In the case you live at the crossroads of two or
  2764.       more area codes, it is possible that you have local
  2765.       numbers in area codes that you must _not_ strip.
  2766.  
  2767.     2 - Area Code numbers.
  2768.       They have your same Area Code but they are long
  2769.       distance.
  2770.       As far as I know, there are many different
  2771.       situations regarding the need to dial the long
  2772.       distance access code "1" and the Area Code.
  2773.       In any case you usually want to differentiate costs.
  2774.  
  2775.       The Country "1" and Area Codes must be stripped and
  2776.       replaced by:
  2777.  
  2778.       (a) the long distance access code "1"
  2779.       (b) the long distance access code "1" +
  2780.         the Area Code
  2781.       (c) nothing
  2782.  
  2783.       In case (b) the number really remains untouched.
  2784.  
  2785.       Even if the Country Code for USA/Canada "1" is
  2786.       numerically equal to your long distance acces code,
  2787.       they are conceptually quite different, and so they
  2788.       will be treated.
  2789.  
  2790.     3 - Domestic numbers.
  2791.       USA/Canada numbers, with a leading "1", that is the
  2792.       international Country Code for USA and Canada.
  2793.       They must be left untouched, since the american long
  2794.       distance access code is equal to the international
  2795.       Country Code for North America.
  2796.  
  2797.     4 - International numbers.
  2798.       These are numbers out of USA and Canada.
  2799.       They must be prefixed by "011", that is the
  2800.       international access code.
  2801.  
  2802.     And now let's see how to achieve our goal using
  2803.     FastLst's Dial Table.
  2804.  
  2805.  
  2806.  
  2807.   Example 1a:
  2808.  
  2809.     Let's suppose:
  2810.  
  2811.     - we are in Area Code 414
  2812.     - the 414 must be stripped for LD calls
  2813.     - the local exchanges are 231, 232, 233, 235, 236, 424
  2814.  
  2815.  
  2816.         Dial
  2817.                 ; strip 1-414- from local numbers, do not add
  2818.                 ; a prefix, set call and user costs to 0.
  2819.  
  2820.           LocalValues 1-414- / 0
  2821.           LocalExchanges 231 232 233 235 236 424
  2822.  
  2823.                 ; Remaining "1-414-" numbers are long distance:
  2824.                 ; strip the 414 Area Code and assign costs = 25.
  2825.  
  2826.           1-414-  1-  25
  2827.  
  2828.                 ; Remaining "1-" numbers are Domestic Long
  2829.                 ; Distance.
  2830.                 ; Set costs to 50
  2831.  
  2832.           1-      1-  50
  2833.  
  2834.                 ; Remaining numbers are international.
  2835.                 ; Prepend 011 and set call cost to 250 and
  2836.                 ; user cost to 500
  2837.  
  2838.           -       011 250 500
  2839.         End
  2840.  
  2841.  
  2842.  
  2843.  
  2844.   Example 1b:
  2845.  
  2846.     Let's suppose:
  2847.  
  2848.     - we are in Area Code 604
  2849.     - the 604 must NOT be stripped for LD calls
  2850.     - the local exchanges are 220 221 222 224 228 230 231
  2851.      240 241 244 250 251 252 253 254 255 257 258 261 263
  2852.      264 266
  2853.  
  2854.  
  2855.         Dial
  2856.                 ; strip 1-604- from local numbers, do not add
  2857.                 ; a prefix, set call and user costs to 0.
  2858.  
  2859.           LocalValues 1-604- / 0
  2860.           LocalExchanges 220 221 222 224 228 230 231 240
  2861.           LocalExchanges 241 244 250 251 252 253 254 255
  2862.           LocalExchanges 257 258 261 263 264 266
  2863.  
  2864.                 ; Remaining "1-604-" numbers are long distance:
  2865.                 ; assign costs = 25.
  2866.  
  2867.           1-604-  1-604-  25
  2868.  
  2869.                 ; Remaining "1-" numbers are Domestic Long
  2870.                 ; Distance.
  2871.                 ; Set costs to 50
  2872.  
  2873.           1-      1-  50
  2874.  
  2875.                 ; Remaining numbers are international.
  2876.                 ; Prepend 011 and set call cost to 250 and
  2877.                 ; user cost to 500
  2878.  
  2879.           -       011 250 500
  2880.         End
  2881.  
  2882.  
  2883.  
  2884.  
  2885.   Example 1c:
  2886.  
  2887.     Let's suppose:
  2888.  
  2889.     - we are at the crossroads of Area Codes 510, 408, 415
  2890.     - "1-510" must always be stripped
  2891.     - "1-408" and "1-415" must never be stripped
  2892.     - some exchanges are toll-free, others are not
  2893.  
  2894.  
  2895.         Dial
  2896.                 ; strip 1-510- from local numbers, do not add
  2897.                 ; a prefix, set call and user costs to 0.
  2898.  
  2899.           LocalValues 1-510- / 0
  2900.           LocalExchanges 224 225 226 227 247 249 252 264 276
  2901.           LocalExchanges 278 293 317 353 354 416 417
  2902.  
  2903.                 ; Specify local exchanges for area code 408,
  2904.                 ; keep "1-408".
  2905.  
  2906.           LocalValues 1-408- 1-408- 0
  2907.           LocalExchanges 232 251 254 258 259 262 263 272 276
  2908.           LocalExchanges 321 324 325 383 428 432 433 434
  2909.  
  2910.                 ; Specify local exchanges for area code 415,
  2911.                 ; keep "1-415".
  2912.  
  2913.           LocalValues 1-415- 1-415- 0
  2914.           LocalExchanges 233 234 321 322 323 324 325 326 327
  2915.           LocalExchanges 328 329 354 424 462 473 493
  2916.  
  2917.                 ; Remaining "1-510-" numbers are not free,
  2918.                 ; the country and area codes are stripped.
  2919.  
  2920.           1-510- /      25
  2921.  
  2922.                 ; Remaining numbers in area codes 408 and
  2923.                 ; 415 are not free, nothing is stripped.
  2924.  
  2925.           1-408- 1-408- 25
  2926.           1-415- 1-415- 25
  2927.  
  2928.                 ; Remaining numbers in country code "1"
  2929.                 ; are domestic: nothing changed, cost 100.
  2930.  
  2931.           1-     1-     100
  2932.  
  2933.                 ; Remaining numbers are international.
  2934.                 ; Prepend 011 and set cost to 2000.
  2935.  
  2936.           -      011    2000
  2937.  
  2938.         End
  2939.  
  2940.  
  2941.  
  2942.  
  2943.   Example 2 (European viewpoint):
  2944.  
  2945.     We differentiate between city, district, domestic and
  2946.     international.
  2947.  
  2948.         Dial
  2949.           LocalValues 39-59- / 5
  2950.           LocalExchanges 2 3 4 56 81 82    ; city
  2951.           39-59- /      30   ; district
  2952.           39-    0      60   ; domestic long distance
  2953.           43     0043- 100   ; Austria
  2954.           32     0032- 100   ; Belgium
  2955.           45     0045- 100   ; Denmark
  2956.           33     0033- 100   ; France
  2957.           49     0049- 100   ; Germany
  2958.           44     0044- 100   ; UK
  2959.           31     0031- 100   ; Netherlands
  2960.           34     0034- 100   ; Spain
  2961.           46     0046- 100   ; Sweden
  2962.           41     0041- 100   ; Switzerland
  2963.           1      001-  200   ; USA/Canada
  2964.           -      00    300   ; others
  2965.         End
  2966.  
  2967.  
  2968.  
  2969.   Example 3 (Separate Analog/Digital costs):
  2970.  
  2971.     For people who pay different charges for analog and
  2972.     digital calls, FastLst allows to specify separate
  2973.     digital costs (that will be used for nodes that are
  2974.     given a Digital ModemType).
  2975.  
  2976.     Let's suppose we want null User Costs and Digital Costs
  2977.     twice as high as the Analog ones.
  2978.  
  2979.         Dial
  2980.           LocalValues 39-59- / 5 0 10 0
  2981.           LocalExchanges 2 3 4 56 81 82    ; city
  2982.           39-59- /      30 0  60 0  ; district
  2983.           39-    0      60 0 120 0  ; domestic long distance
  2984.           -      00    300 0 600 0  ; international
  2985.         End
  2986.  
  2987.  
  2988.  
  2989.   Example 4:
  2990.  
  2991.     Minimal table for sysops that make dial translations and
  2992.     cost assignments somewhere else.
  2993.  
  2994.         Dial
  2995.           -
  2996.         End
  2997.  
  2998.  
  2999.  
  3000. ΓòÉΓòÉΓòÉ 11.2.1.25. Modem Type Table ΓòÉΓòÉΓòÉ
  3001.  
  3002.  
  3003.             Modem Type Table
  3004.  
  3005.  
  3006. This table allows to set the Modem Type, costs and dial
  3007. translations depending on the nodelist flags.
  3008.  
  3009. Syntax:
  3010.  
  3011. TypeDef
  3012.   <Flag> <ModemType> [<Cost> <UCost> [<DialTrans>]]
  3013.   <Flag> <ModemType> [Digital|Analog]
  3014.   ...
  3015. End
  3016.  
  3017.  
  3018. <Flag> is a Nodelist flag (max 49 chars),
  3019. <ModemType> is a number 0->255.
  3020.  
  3021. The nodelist flags of each node are searched for <Flag>s, in the
  3022. same order as they are listed in the TypeDef table.
  3023.  
  3024. The <Flag> must match completely a nodelist flag: if <Flag> is
  3025. V32 and the nodelist flag is V32B, it's not a match.
  3026. The search is not case sensitive.
  3027.  
  3028. The ModemType field of the compiled nodelist will be determined
  3029. by the first match only: If you define X75 before V34, a node
  3030. with both V34 and X75 will have a X75 modem type.
  3031.  
  3032. When <Flag> is for a PSTN system, you can optionally indicate
  3033. whether it is DIGITAL or ANALOG (which is the default); this is
  3034. useful for assigning special Digital costs if you have
  3035. configured them in the Dial/Cost table.
  3036.  
  3037. When <Flag> is for a non-PSTN system (e.g. internet) you can
  3038. specify the costs (which override the CostVerbatimPhone) and
  3039. dial translations.
  3040.  
  3041. <Cost>  The Call Cost, range: 0-65535
  3042. <UCost> The User Cost, range: 0-65535
  3043.  
  3044. <DialTrans> The Dial Translations, for "verbatim" phones.
  3045.  
  3046.   These dial translations DO NOT affect the indexed entry (in
  3047.   <NODEX>.PDX) and are intended as a work around for the dial
  3048.   translations operated by the mailer or the modem-emulator.
  3049.  
  3050.   The syntax requires a set of strings.
  3051.  
  3052.   The first character of each string will be substituted
  3053.   with the remaining characters.
  3054.  
  3055.   A string containing space ' ' or semi-colon ';' MUST be
  3056.   included in quotation marks. If the quotation mark is needed
  3057.   inside the quoted string, it must be double.
  3058.  
  3059.   15 strings of 5 characters are allowed.
  3060.  
  3061.   Example:
  3062.  
  3063.   You need to translate '.' to '*', ':' to ' ', 'v' to
  3064.   'V'; call_cost=100, user_cost=0:
  3065.  
  3066.   Typedef
  3067.    [...]
  3068.    VM 200 100 0 .* ": " vV
  3069.    [...]
  3070.   End
  3071.  
  3072.   You want to translate '.' to '\.', ':' to ' ', 'v' to
  3073.   'V'; call_cost=150, user_cost=100:
  3074.  
  3075.   Typedef
  3076.    [...]
  3077.    VM 200 150 100 .\. ": " vV
  3078.    [...]
  3079.   End
  3080.  
  3081.  
  3082.   Recommended dial translations for Binkley and VMODEM:
  3083.  
  3084.   -\- .* vV ~\~ ": "
  3085.  
  3086.  
  3087. Full example of TypeDef table:
  3088.  
  3089.     for USR Courier I-modem + VMODEM:
  3090.  
  3091.  
  3092.         TypeDef
  3093.           X75   1   Digital
  3094.           ISDNC 1   Digital
  3095.           V120  2   Digital
  3096.           V120H 2   Digital
  3097.           V120L 3   Digital
  3098.           V34   4   Analog
  3099.           VFC   5   Analog
  3100.           V32T  6   Analog
  3101.           H16   7   Analog
  3102.           V32B  8   Analog
  3103.           ZYX   8   Analog ; ZYX implies V32B
  3104.           Z19   8   Analog
  3105.           Z16   8   Analog
  3106.           H14   9   Analog
  3107.           V32   10  Analog
  3108.           HST   11  Analog
  3109.           VM    200 100 0 -\- .* vV ~\~ ": " ; VMODEM
  3110.         End
  3111.  
  3112.  
  3113.  
  3114.   In Binkley.Cfg for the I-modem you can use:
  3115.  
  3116.  
  3117.         ModemTrans   0
  3118.         ModemTrans   1 AT*V2=6D/    ; X75
  3119.         ModemTrans   2 AT*V2=1D/    ; V120
  3120.         ModemTrans   3 AT*V2=1D/    ; V120L
  3121.         ModemTrans   4 AT*V2=3B0D/  ; V34
  3122.         ModemTrans   5 AT*V2=3B0D/  ; VFC
  3123.         ModemTrans   6 AT*V2=3B0D/  ; V32T
  3124.         ModemTrans   7 AT*V2=3B1D/  ; H16
  3125.         ModemTrans   8 AT*V2=3B0D/  ; V32B
  3126.         ModemTrans   9 AT*V2=3B1D/  ; H14
  3127.         ModemTrans  10 AT*V2=3B0D/  ; V32
  3128.         ModemTrans  11 AT*V2=3B1D/  ; HST
  3129.         ModemTrans 200
  3130.  
  3131.  
  3132.   In Binkley.Cfg for VMODEM you can use:
  3133.  
  3134.  
  3135.         ModemTrans   0
  3136.         ModemTrans   1
  3137.         ModemTrans   2
  3138.         ModemTrans   3
  3139.         ModemTrans   4
  3140.         ModemTrans   5
  3141.         ModemTrans   6
  3142.         ModemTrans   7
  3143.         ModemTrans   8
  3144.         ModemTrans   9
  3145.         ModemTrans  10
  3146.         ModemTrans  11
  3147.         ModemTrans 200 ATDT#/   ; VMODEM
  3148.  
  3149.  
  3150.  
  3151.  
  3152.  
  3153. ΓòÉΓòÉΓòÉ 11.2.1.26. User Flags Table ΓòÉΓòÉΓòÉ
  3154.  
  3155.  
  3156.             User Flags Table
  3157.  
  3158.  
  3159. This is an optional table used to handle the "user defined" bits
  3160. in the Flags word of the compiled nodelist entry.
  3161.  
  3162. These bits are named 5,6,7,8,9,A,B,D,E,F where bit 5 is the 6th
  3163. bit and F is the 16th bit of the word.
  3164.  
  3165. Using this table, you can associate (source) nodelist flags to
  3166. user defined bits in the output binary nodelist.
  3167.  
  3168. The table is delimited by the "FlagDef" and "End" keywords; each
  3169. line is in the form "<sFlag> <bFlags>" where <sFlag> is a flag
  3170. (max 9 chars) to be looked for in the source nodelists while
  3171. <bFlags> represents one or more user-defined bits in the output
  3172. Flags word.
  3173.  
  3174.   Example:
  3175.  
  3176.         FlagDef
  3177.           V42B  AB  ; V42B -> user bits A and B
  3178.           V32B  DE  ; V32B -> user bits D and E
  3179.         End
  3180.  
  3181.  
  3182.  
  3183. To add further flags on a node by node basis, please use the
  3184. "Flags <Addr> <Flags>" statement.
  3185.  
  3186. To remove flags, please specify the source flags via the
  3187. "NodeFlags <Addr> <NodeFlags>" statement.
  3188.  
  3189.  
  3190. ΓòÉΓòÉΓòÉ 11.2.2. Section B ΓòÉΓòÉΓòÉ
  3191.  
  3192.  
  3193.              G L O B A L
  3194.  
  3195.               Section B
  3196.  
  3197.  
  3198.  
  3199. The statements in this section affect the processing of all
  3200. the output blocks and thereby of all the input nodelists.
  3201.  
  3202. These statements can also be used in the "OUTPUT" section of an
  3203. OUTPUT block or inside an INPUT block, in which case they affect
  3204. the compilation of the relevant block only.
  3205.  
  3206. In the case you use a verb that has already been used in a
  3207. "higher level" block, it will behave as a local override.
  3208.  
  3209.  
  3210. ΓòÉΓòÉΓòÉ 11.2.2.1. NeededBeforeKill ΓòÉΓòÉΓòÉ
  3211.  
  3212.  
  3213. NeededBeforeKill
  3214.  
  3215.     Tells FastLst that the affected NodeList(s) are needed
  3216.     by the command run via the "BeforeKillSource" statement.
  3217.  
  3218.     The "BeforeKillSource" verb allows you to run a command
  3219.     (executable or batch file) after the compilation has
  3220.     completed, just before FastLst ends and (if "KillSource"
  3221.     is used) deletes the source files that are also present
  3222.     in archived form.
  3223.  
  3224.     The lists affected by "NeededBeforeKill" are extracted,
  3225.     if not already present, before the "BeforeKillSource"
  3226.     command is executed.
  3227.  
  3228.  
  3229. ΓòÉΓòÉΓòÉ 11.2.2.2. ArcMethod ΓòÉΓòÉΓòÉ
  3230.  
  3231.  
  3232. ArcMethod <meth>[,<f>] ...
  3233.  
  3234.     Tells FastLst that it must make sure that all new
  3235.     nodelists are archived using the specified methods.
  3236.     The original archive is NOT killed.
  3237.  
  3238.     Obviously, a new nodelist is not rearchived to its
  3239.     original method.
  3240.  
  3241.     <meth> is the name of an archiver defined in
  3242.     compress.cfg.
  3243.  
  3244.     <f> is the optional specification of the letter to be
  3245.     used for the variable archive extension. If not
  3246.     specified, it is assumed equal to the first letter of
  3247.     the defaults extension for this archiver.
  3248.  
  3249.     Multiple ArcMethod statements are allowed.
  3250.  
  3251.  
  3252.   Example 1:
  3253.  
  3254.     ArcMethod ZIP LH,H
  3255.  
  3256.     NodeList.Z48 arrives: it is archived to NodeList.H48
  3257.     also, using the LH archiver.
  3258.  
  3259.  
  3260.   Example 2:
  3261.  
  3262.     ArcMethod ZIP LH
  3263.  
  3264.     NodeDiff.Z48 arrives: the resulting nodelist is archived
  3265.     to NodeList.Z48 using the ZIP archiver and to
  3266.     NodeList.L48 using LH.
  3267.  
  3268.  
  3269. ΓòÉΓòÉΓòÉ 11.2.2.3. ArcDiffMethod ΓòÉΓòÉΓòÉ
  3270.  
  3271.  
  3272. ArcDiffMethod <meth>[,<f>] ...
  3273.  
  3274.     Tells FastLst that it must make sure that all new
  3275.     nodediffs are archived using the specified methods.
  3276.     The original archive is NOT killed.
  3277.  
  3278.     Obviously, a new nodediff is not rearchived to its
  3279.     original method.
  3280.  
  3281.     <meth> is the name of an archiver defined in
  3282.     compress.cfg.
  3283.  
  3284.     <f> is the optional specification of the letter to be
  3285.     used for the variable archive extension. If not
  3286.     specified, it is assumed equal to the first letter of
  3287.     the defaults extension for this archiver.
  3288.  
  3289.     Multiple ArcDiffMethod statements are allowed.
  3290.  
  3291.  
  3292.   Example:
  3293.  
  3294.     ArcDiffMethod ZIP LH,H
  3295.  
  3296.     NodeDiff.Z48 arrives: it is archived to NodeDiff.H48
  3297.     also, using the LH archiver.
  3298.  
  3299.  
  3300.  
  3301. ΓòÉΓòÉΓòÉ 11.2.2.4. External Commands ΓòÉΓòÉΓòÉ
  3302.  
  3303.  
  3304.             EXTERNAL COMMANDS
  3305.  
  3306.  
  3307. The following verbs allow to invoke external commands.
  3308.  
  3309. <command> can be any legal command-line command: it can be the
  3310. name of an executable file, a batch file or any command that can
  3311. be understood by your command-line interpreter (OS/2's CMD,
  3312. 4OS2, etc.).
  3313.  
  3314. If <command> does not directly invoke an executable file,
  3315. FastLst automatically invokes your default command line
  3316. interpreter (as specified by the COMSPEC environment variable).
  3317.  
  3318.  
  3319. ΓòÉΓòÉΓòÉ 11.2.2.4.1. Archive Related Commands ΓòÉΓòÉΓòÉ
  3320.  
  3321.           Archive Related Commands
  3322.  
  3323.  
  3324. The following verbs share the same syntax:
  3325.  
  3326. Two parameters are allowed in <command>:
  3327.  
  3328. %a is translated to the full pathname of the archive file.
  3329.  
  3330. %f is translated to the name of the file to be added or
  3331.   extracted (no path).
  3332.  
  3333. <command> is run from the path where %f belongs.
  3334.  
  3335.  
  3336. ΓòÉΓòÉΓòÉ 11.2.2.4.1.1. BeforeArcList ΓòÉΓòÉΓòÉ
  3337.  
  3338.  
  3339. BeforeArcList <command>
  3340.  
  3341.     Command to be run before archiving a nodelist.
  3342.  
  3343.  
  3344. ΓòÉΓòÉΓòÉ 11.2.2.4.1.2. AfterArcList ΓòÉΓòÉΓòÉ
  3345.  
  3346.  
  3347. AfterArcList <command>
  3348.  
  3349.     Command to be run after archiving a nodelist.
  3350.  
  3351.  
  3352. ΓòÉΓòÉΓòÉ 11.2.2.4.1.3. BeforeUnArcList ΓòÉΓòÉΓòÉ
  3353.  
  3354.  
  3355. BeforeUnArcList <command>
  3356.  
  3357.     Command to be run before extracting a nodelist.
  3358.  
  3359.  
  3360. ΓòÉΓòÉΓòÉ 11.2.2.4.1.4. AfterUnArcList ΓòÉΓòÉΓòÉ
  3361.  
  3362.  
  3363. AfterUnArcList <command>
  3364.  
  3365.     Command to be run after extracting a nodelist.
  3366.  
  3367.  
  3368. ΓòÉΓòÉΓòÉ 11.2.2.4.1.5. BeforeArcDiff ΓòÉΓòÉΓòÉ
  3369.  
  3370.  
  3371. BeforeArcDiff <command>
  3372.  
  3373.     Command to be run before archiving a nodediff.
  3374.  
  3375.  
  3376. ΓòÉΓòÉΓòÉ 11.2.2.4.1.6. AfterArcDiff ΓòÉΓòÉΓòÉ
  3377.  
  3378.  
  3379. AfterArcDiff <command>
  3380.  
  3381.     Command to be run after archiving a nodediff.
  3382.  
  3383.  
  3384. ΓòÉΓòÉΓòÉ 11.2.2.4.1.7. BeforeUnArcDiff ΓòÉΓòÉΓòÉ
  3385.  
  3386.  
  3387. BeforeUnArcDiff <command>
  3388.  
  3389.     Command to be run before extracting a nodediff.
  3390.  
  3391.  
  3392. ΓòÉΓòÉΓòÉ 11.2.2.4.1.8. AfterUnArcDiff ΓòÉΓòÉΓòÉ
  3393.  
  3394.  
  3395. AfterUnArcDiff <command>
  3396.  
  3397.     Command to be run after extracting a nodediff.
  3398.  
  3399.  
  3400. ΓòÉΓòÉΓòÉ 11.2.2.4.1.9. Example ΓòÉΓòÉΓòÉ
  3401.  
  3402.               Example
  3403.  
  3404. To hatch the new nodelist (note that you probably need to
  3405. specify the location of the config file since the command is
  3406. executed from the directory where %f resides):
  3407.  
  3408.   AfterArcList Hatch %a NODELIST "New NodeList"
  3409.  
  3410.  
  3411.  
  3412. ΓòÉΓòÉΓòÉ 11.2.2.4.2. NodeDiff Related Commands ΓòÉΓòÉΓòÉ
  3413.  
  3414.  
  3415.           NodeDiff Related Commands
  3416.  
  3417.  
  3418. The following verbs accept different parameters:
  3419.  
  3420. %l is translated to the full pathname of the nodelist.
  3421.  
  3422. %d is translated to the full pathname of the nodediff.
  3423.  
  3424. <command> is run from the current directory.
  3425.  
  3426.  
  3427. ΓòÉΓòÉΓòÉ 11.2.2.4.2.1. BeforeEdit ΓòÉΓòÉΓòÉ
  3428.  
  3429.  
  3430. BeforeEdit <command>
  3431.  
  3432.     Command to be run before applying a nodediff.
  3433.  
  3434.  
  3435. ΓòÉΓòÉΓòÉ 11.2.2.4.2.2. AfterEdit ΓòÉΓòÉΓòÉ
  3436.  
  3437.  
  3438. AfterEdit <command>
  3439.  
  3440.     Command to be run after applying a nodediff.
  3441.     Only %l can be used.
  3442.  
  3443.  
  3444. ΓòÉΓòÉΓòÉ 11.2.3. Section C ΓòÉΓòÉΓòÉ
  3445.  
  3446.  
  3447.              G L O B A L
  3448.  
  3449.               Section C
  3450.  
  3451.  
  3452.  
  3453. The statements in this section affect the processing of all
  3454. the output blocks and thereby of all the input nodelists.
  3455.  
  3456. These statements can also be used in the "OUTPUT" section of an
  3457. OUTPUT block (except for the "NoCompile" one) or inside an INPUT
  3458. block, in which case they affect the compilation of the relevant
  3459. block only.
  3460.  
  3461. In the case you use a verb that has already been used in a
  3462. "higher level" block, it will behave as a local override.
  3463.  
  3464.  
  3465. ΓòÉΓòÉΓòÉ 11.2.3.1. MsgRem ΓòÉΓòÉΓòÉ
  3466.  
  3467.  
  3468. MsgRem [<string>]
  3469.  
  3470.     If MsgRemArea is used, FastLst reports the following
  3471.     comments:
  3472.  
  3473.     No MsgRem statement: none;
  3474.  
  3475.     MsgRem with no <string>: all;
  3476.  
  3477.     MsgRem with <string>: only the comments that begin with
  3478.     ";<l> " where <l> is one of the characters in <string>.
  3479.  
  3480.     The ";" character in <string> means that the comments
  3481.     beginning with "; " or ";<word>" can be reported.
  3482.  
  3483.     Common types of comment lines:
  3484.  
  3485.         ;S This is a comment for SysOps
  3486.         ;U This is a comment for users
  3487.         ;F This comment should appear in formatted Fido lists
  3488.         ;A This is a comment of general interest
  3489.         ;E This comment is an error message
  3490.  
  3491.  
  3492.   Example:
  3493.  
  3494.     "MsgRem SE"
  3495.  
  3496.     Only comments destined to SysOps and Error messages are
  3497.     reported (lines beginning with ";S " and ";E ").
  3498.  
  3499.  
  3500. ΓòÉΓòÉΓòÉ 11.2.3.2. MsgLog ΓòÉΓòÉΓòÉ
  3501.  
  3502.  
  3503. MsgLog [NullPhone] [Redirected] [Points]
  3504.  
  3505.     Some common situations (not really errors) are not
  3506.     reported to MsgLogArea by default: if you want FastLst
  3507.     to report them anyway, you can use this statement, but
  3508.     be aware that very long reports could come out.
  3509.  
  3510.     "NullPhone": systems with empty phone string are logged.
  3511.  
  3512.     "Redirected": systems redirected to their coordinators
  3513.     are logged (Hold, unpublished).
  3514.  
  3515.     "Points": points with empty phone string are logged; be
  3516.     aware that most pointlists contain unpublished (thereby
  3517.     with empty phone) points.
  3518.  
  3519.  Examples:
  3520.  
  3521.     MsgLog Redirected
  3522.     MsgLog Redirected NullPhone
  3523.  
  3524.  
  3525. ΓòÉΓòÉΓòÉ 11.2.3.3. GermanPointList ΓòÉΓòÉΓòÉ
  3526.  
  3527.  
  3528. GermanPointList
  3529.  
  3530.     Instructs FastLst to consider the affected nodelist as a
  3531.     3D German style pointlist. Zone 2 is assumed, if not
  3532.     explicitly specified in the "NodeList" statement.
  3533.  
  3534.     This verb is usually used inside an Input Block, so that
  3535.     it affects that nodelist only.
  3536.  
  3537.     WARNING: Be aware that using this statement in the
  3538.     global section or in an Output block affects all the
  3539.     involved nodelists !
  3540.  
  3541.   Example Input Block:
  3542.  
  3543.         NodeList Points24.???
  3544.           GermanPointList
  3545.           Nodediff Pr24Diff.???
  3546.           ArcList Points24.??? 1
  3547.           ArcDiff Pr24Diff.??? 5
  3548.           ArcListDesc R24 PointList for day %d (%D), %a format
  3549.           ArcDiffDesc R24 PointDiff for day %d (%D), %a format
  3550.  
  3551.  
  3552.  
  3553. ΓòÉΓòÉΓòÉ 11.2.3.4. NoPointLstPhone ΓòÉΓòÉΓòÉ
  3554.  
  3555.  
  3556. NoPointLstPhone
  3557.  
  3558.     Changes to "-Unpublished-" the phone numbers specified
  3559.     in the PointLists (German or "Boss" styles).
  3560.  
  3561.     If you use Squish and Binkley, you usually will like
  3562.     pointlists with the Boss' phone in the point entries
  3563.     (otherwise a crash message to a point will have to be
  3564.     manually readdressed to its Boss).
  3565.  
  3566.     But if you use a netmail manager (as NmFwd) that already
  3567.     routes the crash messages for points that do not have a
  3568.     phone to their Boss, then you will probably like this
  3569.     statement.
  3570.  
  3571.     You will usually find convenient to use this statement
  3572.     in the global section, so that it is valid for all the
  3573.     nodelists.
  3574.  
  3575.  
  3576. ΓòÉΓòÉΓòÉ 11.2.3.5. BeforeCompile ΓòÉΓòÉΓòÉ
  3577.  
  3578.  
  3579. BeforeCompile <command>
  3580.  
  3581.     Command to be run before compiling the affected
  3582.     nodelist.
  3583.  
  3584.     This statement follows the same rules explained in
  3585.     "External Commands" in section B.
  3586.  
  3587.     The %l parameter is translated to the full pathname of
  3588.     the nodelist.
  3589.  
  3590.     <command> is run from the current directory.
  3591.  
  3592.  
  3593. ΓòÉΓòÉΓòÉ 11.2.3.6. AfterCompile ΓòÉΓòÉΓòÉ
  3594.  
  3595.  
  3596. AfterCompile <command>
  3597.  
  3598.     Command to be run after compiling the affected nodelist.
  3599.  
  3600.     This statement follows the same rules explained in
  3601.     "External Commands" in section B.
  3602.  
  3603.     The %l parameter is translated to the full pathname of
  3604.     the nodelist.
  3605.  
  3606.     <command> is run from the current directory.
  3607.  
  3608.  
  3609. ΓòÉΓòÉΓòÉ 11.2.3.7. FidoTxt ΓòÉΓòÉΓòÉ
  3610.  
  3611.  
  3612. FidoTxt [<FidoTxt>]
  3613.  
  3614.     Generate an 80 Column Text List of nodes.
  3615.     Nodes included via the "Node,..." method and points are
  3616.     excluded.
  3617.  
  3618.     <FidoTxt> optionally specifies an output file name,
  3619.     which defaults to "NodeList.Txt". If the same file name
  3620.     has already been used for other nodelists, the output is
  3621.     appended.
  3622.  
  3623.   Example:
  3624.  
  3625.     FidoTxt
  3626.  
  3627.  
  3628. ΓòÉΓòÉΓòÉ 11.2.3.8. FidoPrn ΓòÉΓòÉΓòÉ
  3629.  
  3630.  
  3631. FidoPrn [<FidoPrn>]
  3632.  
  3633.     Generate a 132 Column Text List of nodes.
  3634.     Nodes included via the "Node,..." method and points are
  3635.     excluded.
  3636.  
  3637.     <FidoPrn> optionally specifies an output file name,
  3638.     which defaults to "NodeList.Prn". If the same file name
  3639.     has already been used for other nodelists, the output is
  3640.     appended.
  3641.  
  3642.   Example:
  3643.  
  3644.     FidoPrn
  3645.  
  3646.  
  3647. ΓòÉΓòÉΓòÉ 11.2.3.9. IncCoord ΓòÉΓòÉΓòÉ
  3648.  
  3649.  
  3650. IncCoord <CoordLev>
  3651.  
  3652.     The coordinators of the specified and upper levels will
  3653.     be always included, even if excluded by "IncAddr" and
  3654.     "ExcAddr". <CoordLev> can be ZC, RC, NC, HC.
  3655.  
  3656.   Example:
  3657.  
  3658.     IncCoord NC
  3659.  
  3660.  
  3661. ΓòÉΓòÉΓòÉ 11.2.4. Export Section ΓòÉΓòÉΓòÉ
  3662.  
  3663.  
  3664.            Global Export Section
  3665.  
  3666.  
  3667. You can use here the statements described in the "Export Global
  3668. Section" of the "Export Block" (see "Input Block" inside "Output
  3669. Block").
  3670.  
  3671.  
  3672.  
  3673. ΓòÉΓòÉΓòÉ 11.3. Output Block ΓòÉΓòÉΓòÉ
  3674.  
  3675.  
  3676.           O U T P U T  B L O C K
  3677.  
  3678.  
  3679.  
  3680. The following verbs define the compilation of a single output
  3681. binary nodelist.
  3682.  
  3683. The block begins with a "Output Section", that affects the
  3684. compilation of all the source (input) nodelists, followed by a
  3685. sequence of "Input Blocks" that define how to handle each of the
  3686. source nodelists.
  3687.  
  3688. The first "output block" can be of a special kind: if the
  3689. "NoCompile" statement is used instead of "Version7+", this block
  3690. indicates the actions necessary to maintain the specified
  3691. nodelists, but they are not compiled.
  3692.  
  3693.  
  3694. ΓòÉΓòÉΓòÉ 11.3.1. Version7+ ΓòÉΓòÉΓòÉ
  3695.  
  3696.  
  3697. Version7[+] <Path> <Nodex> [<Sysop>[.<Ext>]]
  3698.  
  3699.     Start of a block of config verbs defining the generation
  3700.     of an output nodelist. You can generate one or more
  3701.     compiled nodelists with different names and path for the
  3702.     output files. Each "Version7" statement marks the
  3703.     beginning of a new output-nodelist definition.
  3704.  
  3705.     Version7+ is for V7+ while Version7 allows to save space
  3706.     and generate the V7 files only.
  3707.  
  3708.     <Path> is the path where the output binary data and
  3709.     index files are placed.
  3710.  
  3711.     <Nodex> is the file name (no extension) for the output
  3712.     files.
  3713.  
  3714.     <Sysop>.<Ext> is the file name for the sysop-index.
  3715.     When no extension is given, .NDX is assumed if
  3716.     <Sysop> is different from <Nodex>, otherwise the .SDX
  3717.     extension is used.
  3718.  
  3719.     If you omit <Sysop> with Version7+, <Nodex>.SDX is used
  3720.     for the SysOp index.
  3721.  
  3722.     If you omit <Sysop> with Version7, no SysOp index is
  3723.     generated.
  3724.  
  3725.     Usually <Nodex> should be "NODEX" and <Sysop> "SYSOP".
  3726.  
  3727.     If you use V7+ and all of your applications accept
  3728.     <NODEX>.SDX as the SysOp index, you may omit <Sysop>.
  3729.  
  3730.     For compatibility with V7 applications that require
  3731.     "SYSOP.NDX" as SysOp index, "SYSOP" is recommended for
  3732.     <SysOp>.
  3733.  
  3734.     All the following verbs, up to the next "Version7" (if
  3735.     any), are related to the preceding "Version7" output
  3736.     files.
  3737.  
  3738.   Examples:
  3739.  
  3740.                                            ; SysOp Index name
  3741.         Version7+ d:\bbs\v7\ NODEX  SYSOP  ; SYSOP.NDX
  3742.         Version7+ d:\bbs\v7\ NODEX  NODEX  ; NODEX.SDX
  3743.         Version7+ d:\bbs\v7\ NODEX         ; NODEX.SDX
  3744.         Version7  d:\bbs\v7\ NODEX  SYSOP  ; SYSOP.NDX
  3745.         Version7  d:\bbs\v7\ NODEX  NODEX  ; NODEX.SDX
  3746.         Version7  d:\bbs\v7\ NODEX         ; no index
  3747.  
  3748.  
  3749.   Version7 Output files:
  3750.  
  3751.         <Nodex>.DAT     Nodelist Data
  3752.         <Nodex>.NDX     Address Index
  3753.         <Sysop>.NDX     SysOp Index (optional)
  3754.  
  3755.  
  3756.     Some Version7 programs also accept <Nodex>.SDX for the
  3757.     SysOp Index.
  3758.  
  3759.   Version7+ Output files:
  3760.  
  3761.         <Nodex>.DAT     Nodelist Data
  3762.         <Nodex>.DTP     Additional Data
  3763.         <Nodex>.NDX     Address Index
  3764.         <Nodex>.SDX     SysOp Index
  3765.         <Nodex>.PDX     Phone Index
  3766.  
  3767.  
  3768.     Version7+ programs must also be configurable to accept
  3769.     <Sysop>.NDX as the SysOp Index for compatibility with V7
  3770.     programs.
  3771.  
  3772.  
  3773. ΓòÉΓòÉΓòÉ 11.3.2. NoCompile ΓòÉΓòÉΓòÉ
  3774.  
  3775.  
  3776. NoCompile
  3777.  
  3778.     This verb can be used to start the first "Output Block",
  3779.     instead of "Version7".
  3780.  
  3781.     This way the first output block becomes a "NoCompile"
  3782.     block and the indicated nodelists are maintained but not
  3783.     compiled.
  3784.  
  3785.     This is a means for maintaining a NodeList (applying
  3786.     nodediffs, archiving with different archivers etc.)
  3787.     without compiling it.
  3788.  
  3789.     The statements related to nodelist compilation (see
  3790.     Global section C) are obviously illegal in a "NoCompile"
  3791.     block.
  3792.  
  3793.  
  3794.  
  3795. ΓòÉΓòÉΓòÉ 11.3.3. Output section ΓòÉΓòÉΓòÉ
  3796.  
  3797.  
  3798.            O U T P U T  Section
  3799.  
  3800.  
  3801. The following verbs affect the compilation of the current output
  3802. block and must precede the definitions of the input blocks
  3803. (which start with the Nodelist statement).
  3804.  
  3805.  
  3806. ΓòÉΓòÉΓòÉ 11.3.3.1. FidoUserLst ΓòÉΓòÉΓòÉ
  3807.  
  3808.  
  3809. FidoUserLst [<FidoUserLst>]
  3810.  
  3811.     Generate "fidouser.lst style" text SysOp list.
  3812.     <FidoUserLst> optionally specifies an output file name,
  3813.     which defaults to "FidoUser.Lst". Different output
  3814.     blocks require different names.
  3815.  
  3816.   Example:
  3817.  
  3818.     Version7+ d:\bbs\v7 NODEX SYSOP
  3819.       FidoUserLst
  3820.  
  3821.  
  3822. ΓòÉΓòÉΓòÉ 11.3.3.2. LinkOnDisk ΓòÉΓòÉΓòÉ
  3823.  
  3824.  
  3825. LinkOnDisk
  3826.  
  3827.     Forces "on disk" DTP linking.
  3828.  
  3829.     This can be useful to avoid FastLst using virtual memory
  3830.     for linking the <NODEX>.DTP file.
  3831.  
  3832.     If you do not have enough free physical memory (12MB for
  3833.     60,000 nodes), the "on disk" mode is faster.
  3834.  
  3835.   Example:
  3836.  
  3837.     Version7+ d:\bbs\v7 NODEX
  3838.       LinkOnDisk
  3839.  
  3840.  
  3841. ΓòÉΓòÉΓòÉ 11.3.3.3. LogStats ΓòÉΓòÉΓòÉ
  3842.  
  3843.  
  3844. LogStats
  3845.  
  3846.     Output Statistics to MsgLogArea.
  3847.  
  3848.     This statements makes FastLst write the statistics for
  3849.     the current output-nodelist to the area specified with
  3850.     MsgLogArea.
  3851.  
  3852.   Example:
  3853.  
  3854.     Version7+ ...
  3855.      LogStats
  3856.  
  3857.  
  3858. ΓòÉΓòÉΓòÉ 11.3.3.4. Block Specifications ΓòÉΓòÉΓòÉ
  3859.  
  3860.  
  3861.             Block Specifications
  3862.  
  3863.  
  3864. You can use here the same statements described in the "Global
  3865. Section B" and (if this is not a "NoCompile" block) "Global
  3866. Section C" and "Export Global Section" (see the Export Block
  3867. below).
  3868.  
  3869.  
  3870. ΓòÉΓòÉΓòÉ 11.3.3.5. Address Specific Stuff ΓòÉΓòÉΓòÉ
  3871.  
  3872.  
  3873.            ADDRESS SPECIFIC STUFF
  3874.  
  3875.  
  3876.  
  3877. The following verbs define address specific stuff that will
  3878. affect the compilation of all the source nodelists compiled in
  3879. the current output block. These statements are illegal in a
  3880. "NoCompile" block.
  3881.  
  3882. If you prefer, you can specify this type of information in the
  3883. "Address Specific Stuff" section of the pertinent input block.
  3884.  
  3885. WARNING: make sure all addresses have full info (incl. zone).
  3886.  
  3887.  
  3888. ΓòÉΓòÉΓòÉ 11.3.3.5.1. Password ΓòÉΓòÉΓòÉ
  3889.  
  3890.  
  3891. Password <Addr> <Password>
  3892.  
  3893.     Allows to specify <Password> one <Addr> at a time.
  3894.  
  3895.     Version 7 has no limit on password length, however the
  3896.     programs that use it are usually limited to 8 chars.
  3897.     Some (rare) programs have problems with 8 chars and need
  3898.     a maximum of 7 or 6 chars.
  3899.  
  3900.   Example:
  3901.  
  3902.     Password 2:332/504.4 Password
  3903.  
  3904.  
  3905. ΓòÉΓòÉΓòÉ 11.3.3.5.2. PasswordFile ΓòÉΓòÉΓòÉ
  3906.  
  3907.  
  3908. PasswordFile <PasswordFile>
  3909.  
  3910.     Allows to include a password file that contains many
  3911.     address/password couples, one per line.
  3912.  
  3913.     In this file you can omit the "Password" keyword.
  3914.  
  3915.     If you like, you can use some "Password" keywords
  3916.     together with one or more "PasswordFile".
  3917.  
  3918.     Please note that the definitions found in this file have
  3919.     effect on the current (Output or Input) block ONLY.
  3920.  
  3921.     FastLst writes to the log file which source or output
  3922.     nodelist is affected by each passwordfile; so, in case
  3923.     of doubts, just check the logs.
  3924.  
  3925.   Example:
  3926.  
  3927.     PasswordFile fidonet.pwd
  3928.  
  3929.  
  3930. ΓòÉΓòÉΓòÉ 11.3.3.5.3. Phone ΓòÉΓòÉΓòÉ
  3931.  
  3932.  
  3933. Phone <Addr> <Phone> [<NodeFlags> [<Cost> [<UCost>]]]
  3934.  
  3935.     Allows to override a nodelist phone number and
  3936.     optionally the corresponding "NodeFlags" and costs.
  3937.  
  3938.     if <Phone> contains non-numeric characters, it is taken
  3939.     verbatim
  3940.  
  3941.     If <Phone> contains only digits and dashes '-', it is
  3942.     considered a PSTN number and MUST be in the form used in
  3943.     the source nodelist (dial translation will be applied
  3944.     normally).
  3945.  
  3946.     <NodeFlags> has the same meaning as in the NodeFlags
  3947.     statement. To specify an overriding empty <NodeFlags>,
  3948.     use a single comma.
  3949.  
  3950.     <Cost> and <UCost> have the same meaning as in the Cost
  3951.     statement.
  3952.  
  3953.  
  3954.   Examples:
  3955.  
  3956.     <Phone> override only:
  3957.  
  3958.         Phone 2:332/501.1 39-59-399999      ; Normal override
  3959.         Phone 1:106/2000  juge.com          ; internet address
  3960.         Phone 1:123/4567  123.456.789.012   ; IP address
  3961.         Phone 2:245/6789  "Bob.scr"         ; quoted script name
  3962.  
  3963.  
  3964.     <Phone> and <NodeFlags> overrides:
  3965.  
  3966.         Phone 2:332/501.0 39-59-499999 V34,CM ; Set new flags
  3967.         Phone 2:332/501.1 39-59-399999 ,      ; Set NO flags
  3968.  
  3969.  
  3970.     <Phone>, <NodeFlags> and <Cost>/<UCost> overrides:
  3971.  
  3972.         Phone 2:332/501 39-59-499999 V34,CM 10 0
  3973.         Phone 2:332/502 mega.com VM 0      ; <Cost> == <UCost>
  3974.  
  3975.  
  3976.  
  3977. ΓòÉΓòÉΓòÉ 11.3.3.5.4. NodeFlags ΓòÉΓòÉΓòÉ
  3978.  
  3979.  
  3980. NodeFlags <Addr> <NodeFlags>
  3981.  
  3982.     Allows to substitute the flags listed in the nodelist
  3983.     entry of <Addr>.
  3984.  
  3985.     If you want to change the CM flag or modem type flags
  3986.     (HST, V32b, ZYX) etc, you can use this verb. Please note
  3987.     that the old flags are lost, so you need to indicate all
  3988.     the necessary flags.
  3989.  
  3990.     Please note that <NodeFlags> might be empty.
  3991.  
  3992.   Example:
  3993.  
  3994.     NodeFlags 2:332/501.0 CM,H16,V32b
  3995.  
  3996.  
  3997. ΓòÉΓòÉΓòÉ 11.3.3.5.5. Flags ΓòÉΓòÉΓòÉ
  3998.  
  3999.  
  4000. Flags <Addr> <Flags>
  4001.  
  4002.     The Flags statement allows to set the "user defined"
  4003.     bits in the Flags word of the compiled nodelist entry.
  4004.     These bits are named 5,6,7,8,9,A,B,D,E,F where bit 5 is
  4005.     the 6th bit and F is the 16th bit of the word.
  4006.  
  4007.     These bits are "ORed" with those already set by the
  4008.     "FlagDef" table.
  4009.  
  4010.     If you need to zero some of the bits, please specify the
  4011.     source flags with the "NodeFlags" statement.
  4012.  
  4013.   Example:
  4014.  
  4015.     Flags 2:332/501.0 AB5  ; Set bits 5,A & B.
  4016.  
  4017.  
  4018. ΓòÉΓòÉΓòÉ 11.3.3.5.6. Cost ΓòÉΓòÉΓòÉ
  4019.  
  4020.  
  4021. Cost <Addr> <Cost> [<UCost>]
  4022.  
  4023.     <Cost> and <UCost> are in the range 0->65535.
  4024.     Overrides the Cost and User_Cost fields of <Addr> in the
  4025.     compiled nodelist. If no <UCost> is given, it's taken
  4026.     equal to <Cost>.
  4027.  
  4028.   Example:
  4029.  
  4030.     Cost 2:332/501.0 150
  4031.  
  4032.  
  4033. ΓòÉΓòÉΓòÉ 11.3.3.6. Segment Selection ΓòÉΓòÉΓòÉ
  4034.  
  4035.  
  4036.             SEGMENT SELECTION
  4037.  
  4038.  
  4039. The following verbs allow to include or exclude selected
  4040. <NodeList> segments. If you do not use them, the full <NodeList>
  4041. is compiled. Be aware that the process of checking each address
  4042. against the list of segments to be included or excluded might
  4043. slow down the compilation, even if some gain could come from the
  4044. exclusion of large segments.
  4045.  
  4046. These statements are obviously illegal in a "NoCompile" block.
  4047.  
  4048. These statements can be used in an Input block to affect that
  4049. nodelist only.
  4050.  
  4051.  
  4052. ΓòÉΓòÉΓòÉ 11.3.3.6.1. IncAddr ΓòÉΓòÉΓòÉ
  4053.  
  4054.  
  4055. IncAddr <PartAddrLst>
  4056.  
  4057.     If you want to selectively include nodelist segments,
  4058.     you can use this option: only zones, regions, nets,
  4059.     hubs, nodes, points that are listed in <PartAddrLst>
  4060.     will be present in the output files. You can specify
  4061.     zone, region/net, hub/node and point numbers.
  4062.  
  4063.   Example:
  4064.  
  4065.     IncAddr 1 2:33 2:200/100 3:632 4:801/17
  4066.  
  4067.      Compiles: zone 1, region 33 of zone 2, hub 100 of net
  4068.      200 of zone 2, net 632 of zone 3, node 4:801/17
  4069.  
  4070.  
  4071. ΓòÉΓòÉΓòÉ 11.3.3.6.2. ExcAddr ΓòÉΓòÉΓòÉ
  4072.  
  4073.  
  4074. ExcAddr <PartAddrLst>
  4075.  
  4076.     If you want to exclude some segments from the
  4077.     compilation, you can list them in <PartAddrLst>, in the
  4078.     same way as for "IncAddr". You can use either "IncAddr"
  4079.     or "ExcAddr" or both of them to Include only selected
  4080.     segments and exclude sub-segments.
  4081.  
  4082.   Example:
  4083.  
  4084.     ExcAddr 2:332/500
  4085.  
  4086.      Excludes Hub 500 of net 332 of zone 2.
  4087.  
  4088.  
  4089.  
  4090.  
  4091. ΓòÉΓòÉΓòÉ 11.3.4. Input Block ΓòÉΓòÉΓòÉ
  4092.  
  4093.  
  4094.            I N P U T  B L O C K
  4095.  
  4096.  
  4097. The Input Block starts with a "NodeList" statement and continues
  4098. until the start of the next Input or Output Block (NodeList or
  4099. Version7 statement respectively) or the end of the configuration
  4100. file.
  4101.  
  4102.  
  4103. ΓòÉΓòÉΓòÉ 11.3.4.1. NodeList ΓòÉΓòÉΓòÉ
  4104.  
  4105.  
  4106. NodeList <NodeList> [<PartAddr> [<Region> [<Hub>]]]
  4107.  
  4108.     Start of a block of config verbs defining the processing
  4109.     of the specified <NodeList> file. You can use many
  4110.     "NodeList" statements to compile several different
  4111.     source nodelists into the same output files specified by
  4112.     the preceding "Version7+" statement. Each "NodeList"
  4113.     verb marks the beginning of a new input-nodelist
  4114.     processing-info block.
  4115.  
  4116.     When an address is present in more than one <NodeList>
  4117.     (e.g. you compile both the full nodelist and the faster
  4118.     updated local region or zone segment) only the entry
  4119.     found in the last compiled <NodeList> is put in the
  4120.     indices. To have the most up-to-date entries in your V7
  4121.     indices, please include local segments after the larger
  4122.     list.
  4123.  
  4124.     <NodeList> is the name of the input nodelist.
  4125.     If you don't specify a path, <InputPath> is assumed.
  4126.  
  4127.     If a terminal ".???" is specified, all the files with 3
  4128.     digits in the place of '???' are examined and that with
  4129.     the latest 3 digit day of the year is chosen for
  4130.     compilation.
  4131.  
  4132.     The optional <PartAddr> is a partial address that must
  4133.     be specified for nodelist segments that do not have full
  4134.     address info. For example, a REGION segment usually
  4135.     starts with the "Region," keyword and does not contain
  4136.     any Zone info: its up to you to tell FastLst which zone
  4137.     we are talking about. For the same reason you should
  4138.     provide zone and net info when compiling a Hub segment.
  4139.  
  4140.     For Net segments you should also specify the <Region>
  4141.     and for simple lists of nodes or points the <Hub>.
  4142.  
  4143.     Anyway FastLst is smart enough to automagically gather
  4144.     Region and Hub information (when possible) from:
  4145.  
  4146.     - same node present in a larger segment (Region and Hub)
  4147.     - other node with same zone:net (Region only)
  4148.     - Boss of the point (Region and Hub)
  4149.  
  4150.     Note: points that do not have a Boss are removed from
  4151.     the indices.
  4152.  
  4153.   Examples:
  4154.  
  4155.     IMPORTANT: Please note that the following lines
  4156.       represent a list of examples, NOT an example of
  4157.       multiple nodelist compilation.
  4158.       After each "NodeList" verb, you must specify all the
  4159.       statements that affect the compilation of that
  4160.       particular source file.
  4161.  
  4162.  
  4163.      1) NodeList nodelist.???     ; Fidonet nodelist
  4164.  
  4165.      2) NodeList region.033 2     ; Region 33 list, zone 2
  4166.  
  4167.      3) NodeList region24.??? 2   ; Region 24 list, zone 2
  4168.  
  4169.      4) NodeList net.332 2 33     ; Net list, zone 2, region 33
  4170.  
  4171.      5) NodeList hub.500 2:332 33 ; Hub list, zone 2, net 332,
  4172.                                   ; region 33
  4173.  
  4174.      6) NodeList locnode.500 2:332 33 500
  4175.                                   ; Some nodes, zone 2, net 332,
  4176.                                   ; region 33, hub 500
  4177.  
  4178.      7) NodeList points.504 2:332/504
  4179.                                   ; Points of 2:332/504 in
  4180.                                   ; "Point," format
  4181.  
  4182.      8) NodeList morenode.lst   ; Some nodes in the "Node,"
  4183.                                 ; format. No <PartAddr> required
  4184.                                 ; since the "Node," line gives
  4185.                                 ; full address info.
  4186.  
  4187.      9) NodeList ptlist.???     ; Point List in the "Boss,"
  4188.                                 ; format. No <PartAddr> required
  4189.                                 ; since the "Boss," line gives
  4190.                                 ; full address info.
  4191.  
  4192.  
  4193. ΓòÉΓòÉΓòÉ 11.3.4.2. Input Section ΓòÉΓòÉΓòÉ
  4194.  
  4195.  
  4196.              Input Section
  4197.  
  4198.  
  4199. The following statements affect the handling of the nodelist
  4200. specified by the last "NodeList" statement (current Input
  4201. Block).
  4202.  
  4203.  
  4204. ΓòÉΓòÉΓòÉ 11.3.4.2.1. NodeDiff ΓòÉΓòÉΓòÉ
  4205.  
  4206.  
  4207. NodeDiff <NodeDiff>
  4208.  
  4209.     <NodeDiff> is the name of the nodediff file.
  4210.     If you don't specify a path, <InputPath> is assumed.
  4211.  
  4212.     <NodeDiff> must terminate with ".???". FastLst will
  4213.     search for a suitable <NodeDiff>, considering the files
  4214.     that have a 3 digit day of the year in the place of the
  4215.     trailing '???'.
  4216.  
  4217.   Example:
  4218.  
  4219.     NodeDiff NODEDIFF.???
  4220.  
  4221.  
  4222. ΓòÉΓòÉΓòÉ 11.3.4.2.2. ArcList ΓòÉΓòÉΓòÉ
  4223.  
  4224.  
  4225. ArcList <ArcList> [<Keep#>]
  4226.  
  4227.     You can specify the name of the archive containing
  4228.     <NodeList>. It is necessary if you use automatic
  4229.     extraction/rearchiving, but it can even be used only to
  4230.     delete old files.
  4231.  
  4232.     <ArcList> is used to extract new nodelists, to compress
  4233.     them using the methods defined in "ArcMethod", to
  4234.     compress the new nodelists after the application of
  4235.     nodediffs.
  4236.  
  4237.     If <ArcList> has a terminating ".???", all the files
  4238.     that have a suitable fixed (.zip, .lzh etc.) or variable
  4239.     (.z10, .z17, .l10, .l17 etc.) extension are considered,
  4240.     taking the digits as the last 2 digits of the day of the
  4241.     year.
  4242.  
  4243.     If you really want to limit search to a specified fixed
  4244.     or variable extension, you can do:
  4245.     "ArcList nodelist.zip", to consider .zip only;
  4246.     "ArcList nodelist.z??", to consider .z?? only.
  4247.  
  4248.     <Keep#> optionally specifies the number of archives to
  4249.     be kept, basing on the day of the year (the modification
  4250.     file date is also used to infer the correct
  4251.     chronological order).
  4252.  
  4253.     If you maintain archives with multiple different
  4254.     extensions (.z??, .l??, etc.) the actual number of files
  4255.     increases, since multiple files with the same day
  4256.     extension count for one.
  4257.  
  4258.     The description associated to the deleted files is
  4259.     removed from FILES.BBS.
  4260.  
  4261.   Example:
  4262.  
  4263.     ArcList nodelist.??? 1
  4264.  
  4265.  
  4266. ΓòÉΓòÉΓòÉ 11.3.4.2.3. ArcDiff ΓòÉΓòÉΓòÉ
  4267.  
  4268.  
  4269. ArcDiff <ArcDiff> [<Keep#>]
  4270.  
  4271.     You can specify the name of the archive containing
  4272.     <NodeDiff>. It is necessary if you use automatic
  4273.     extraction/rearchiving, but it can even be used only to
  4274.     delete old files.
  4275.  
  4276.     <ArcDiff> must terminate with ".???".
  4277.  
  4278.     All the files that have 2 digits in the place of the
  4279.     last 2 '?' are examined, taking the digits as the last 2
  4280.     digits of the day of the year.
  4281.  
  4282.     If you really want to limit search to a specified
  4283.     extension, you can do:
  4284.     "ArcDiff nodediff.z??", to consider .z?? only.
  4285.  
  4286.     <Keep#> optionally specifies the number of archives to
  4287.     be kept, basing on the day of the year (the modification
  4288.     file date is also used to infer the correct
  4289.     chronological order). In the case of multiple archive
  4290.     extensions, the actual number increases consequently.
  4291.  
  4292.     The description associated to the deleted files is
  4293.     removed from FILES.BBS.
  4294.  
  4295.   Example:
  4296.  
  4297.     ArcDiff nodediff.??? 5
  4298.  
  4299.  
  4300. ΓòÉΓòÉΓòÉ 11.3.4.2.4. ArcListDesc/ArcDiffDesc ΓòÉΓòÉΓòÉ
  4301.  
  4302.  
  4303. ArcListDesc <Desc>
  4304. ArcDiffDesc <Desc>
  4305.  
  4306.     You can specify a description to be added to FILES.BBS
  4307.     for the new nodelist and nodediff files created by
  4308.     FastLst.
  4309.  
  4310.     Some parameters are available:
  4311.  
  4312.     %d : the 3 digit day number (0 padded)
  4313.     %a : the archiver name
  4314.     %D : the date, USA format (Feb 10, 1995)
  4315.     %L : the date, Local format
  4316.  
  4317.   Example:
  4318.  
  4319.         ArcListDesc Fido Nodelist for day %d (%D), %a format
  4320.         ArcDiffDesc Fido Nodediff for day %d (%D), %a format
  4321.  
  4322.  
  4323.  
  4324. ΓòÉΓòÉΓòÉ 11.3.4.3. Local Specifications ΓòÉΓòÉΓòÉ
  4325.  
  4326.  
  4327.             Local Specifications
  4328.  
  4329.  
  4330. You can use here the same statements described in the "Global
  4331. Section B" and (if we are not in a "NoCompile" block) "Global
  4332. Section C" and "Export Global Section" (see the Export Block
  4333. below).
  4334.  
  4335.  
  4336. ΓòÉΓòÉΓòÉ 11.3.4.4. Address Specific Stuff ΓòÉΓòÉΓòÉ
  4337.  
  4338.  
  4339.            ADDRESS SPECIFIC STUFF
  4340.  
  4341.  
  4342. You can specify here the address specific stuff that is related
  4343. to the current source nodelist (if not inside a "NoCompile"
  4344. block).
  4345.  
  4346. If you have already used the "Output section" for specifying
  4347. this kind of information, you can skip this section.
  4348.  
  4349. WARNING:
  4350.  
  4351. Often you will compile segments of a previously compiled
  4352. nodelist. For example you could have a "NodeList nodelist.???"
  4353. block for the world nodelist and then a "NodeList region.033"
  4354. block for your region's nodelist segment.
  4355.  
  4356. The majority of entries in the latter will be duplicates of
  4357. entries already found in the former. However, in the case of
  4358. duplicates, only the entries found in the last involved
  4359. "NodeList" block will go to the indices and be active. This way
  4360. you can compile the full world nodelist while keeping your
  4361. segment up-to-date with local segments that get updated faster
  4362. than the full nodelist.
  4363.  
  4364. When you have to specify "Address Specific Stuff" for nodes that
  4365. are present in more than one "NodeList", you must do that in the
  4366. last involved "NodeList" block (or in the Output Section, of
  4367. course), otherwise your indications will have no effect.
  4368.  
  4369. For a list of allowed statements, please see the "Address
  4370. Specific Stuff" section of the "Output" section above.
  4371.  
  4372.  
  4373. ΓòÉΓòÉΓòÉ 11.3.4.5. Segment Selection ΓòÉΓòÉΓòÉ
  4374.  
  4375.  
  4376.             SEGMENT SELECTION
  4377.  
  4378.  
  4379. You can use here the same statements described in "Segment
  4380. Selection" in the Output Section (if not inside a "NoCompile"
  4381. block).
  4382.  
  4383.  
  4384. ΓòÉΓòÉΓòÉ 11.3.4.6. Export Block ΓòÉΓòÉΓòÉ
  4385.  
  4386.  
  4387.              EXPORT Block
  4388.  
  4389.  
  4390. FastLst can "export" segments of nodelist: e.g. you can export
  4391. the Region 25 from the world nodelist to a file called
  4392. Region25.???, where ??? stands for the day of the year. Note
  4393. that this feature is for exporting segments of nodelist to a
  4394. dedicated file. To compile segments you should continue using
  4395. the "Segment Selection" section of FastLst.Cfg.
  4396.  
  4397. These blocks MUST be at the _END_ of an "Input Block"; there can
  4398. be multiple Export Blocks in a single Input Block.
  4399.  
  4400. Obviously the Export Block is available for compiled nodelists
  4401. only, thus it is illegal inside a "NoCompile" block.
  4402.  
  4403. The export is done ONLY when a new NodeList is found (or when
  4404. the file to be exported exists neither in uncompressed nor in
  4405. archived form), even if the config file is changed. So, you can
  4406. safely hatch the created arcfile via the AfterArcExport command
  4407. with no danger of hatching it all the times you change something
  4408. in the cfg. Under these conditions, if you really want to export
  4409. anyway, you must use the -i command line switch.
  4410.  
  4411. IMPORTANT: If you use the same export filename for multiple
  4412. source nodelists, all the exported segments are appended one
  4413. another. This way, if you like, you can make FastLst generate a
  4414. "plain" nodelist file with many different source nodelists in
  4415. it, just appended one after another. Some people need this
  4416. feature to create input for some other program. For this feature
  4417. to work, you need to specify the '+' parameter in the "Export"
  4418. statement. See "Export Example" below.
  4419.  
  4420.  
  4421. ΓòÉΓòÉΓòÉ 11.3.4.6.1. Export ΓòÉΓòÉΓòÉ
  4422.  
  4423.  
  4424. Export [+] <file> [<PartAddrLst>]
  4425.  
  4426.     The '+' sign must be specified when you want to create a
  4427.     joined list by exporting multiple nodelists to the same
  4428.     export <file>. This way the exported file will be
  4429.     created every time the nodelist is compiled and its
  4430.     timestamp will not be changed to be equal to the source.
  4431.  
  4432.     <file> is the name of the file to which you want to
  4433.     export the selected segment(s).
  4434.  
  4435.     <PartAddrLst> is the partial address list of segments to
  4436.     be exported. Usually it is a single partial address.
  4437.     If omitted, the entire nodelist is exported (useful to
  4438.     create a joined nodelist).
  4439.  
  4440.     This statement marks the start of an "Export Block".
  4441.     Multiple "Export Blocks" are allowed in the same "Input
  4442.     Block".
  4443.  
  4444.     N.B. The Export blocks must be at the _END_ of an input
  4445.     block. See "Export Example" below.
  4446.  
  4447.   Example:
  4448.  
  4449.     Export region25.??? 2:25
  4450.  
  4451.  
  4452.  
  4453. ΓòÉΓòÉΓòÉ 11.3.4.6.2. Export Section ΓòÉΓòÉΓòÉ
  4454.  
  4455.  
  4456.              Export Section
  4457.  
  4458.  
  4459. The following verbs define the parameters for the Export
  4460. specified by the last "Export" statement.
  4461.  
  4462.  
  4463. ΓòÉΓòÉΓòÉ 11.3.4.6.2.1. ArcExport ΓòÉΓòÉΓòÉ
  4464.  
  4465.  
  4466. ArcExport <arcfile> [Keep#]
  4467.  
  4468.     <arcfile> is the name of the archive file to which you
  4469.     want to compress the exported <file>.
  4470.  
  4471.     [Keep#] is the optional number of archive versions to be
  4472.     kept, basing on the day of the year (the modification
  4473.     file date is also used to infer the correct
  4474.     chronological order).
  4475.  
  4476.   Example:
  4477.  
  4478.     ArcExport region25.??? 2
  4479.  
  4480.  
  4481. ΓòÉΓòÉΓòÉ 11.3.4.6.2.2. ArcExportDesc ΓòÉΓòÉΓòÉ
  4482.  
  4483.  
  4484. ArcExportDesc <description>
  4485.  
  4486.     <description> is the description to be applied to
  4487.     FILES.BBS when a new archive is created.
  4488.  
  4489.   Example:
  4490.  
  4491.     ArcExportDesc Region 25 %D, %a format
  4492.  
  4493.  
  4494.  
  4495. ΓòÉΓòÉΓòÉ 11.3.4.6.3. Export Global Section ΓòÉΓòÉΓòÉ
  4496.  
  4497.  
  4498.            Export Global Section
  4499.  
  4500.  
  4501. The following verbs can be used in the "Export Section" of an
  4502. "Export Block", in the "Input Section" of an "Input Block", in
  4503. the "Output Section" of an "Output Block", in the "Global
  4504. Section".
  4505.  
  4506. In few words, they are legal everywhere except for the
  4507. "NoCompile" block.
  4508.  
  4509. Depending on their positions, they affect the involved nodelists
  4510. only.
  4511.  
  4512.  
  4513. ΓòÉΓòÉΓòÉ 11.3.4.6.3.1. ArcExportMethod ΓòÉΓòÉΓòÉ
  4514.  
  4515.  
  4516. ArcExportMethod <meth>[,<f>] ...
  4517.  
  4518.     Specifies the archive type(s) to be created for the
  4519.     exported file.
  4520.  
  4521.     <meth> is the archiver name as defined in Compress.Cfg.
  4522.  
  4523.     <f> is the optional first letter to be used for variable
  4524.     archive extensions.
  4525.  
  4526.   Example:
  4527.  
  4528.     ArcExportMethod zip lh,H
  4529.  
  4530.  
  4531. ΓòÉΓòÉΓòÉ 11.3.4.6.3.2. BeforeArcExport/AfterArcExport ΓòÉΓòÉΓòÉ
  4532.  
  4533.  
  4534. BeforeArcExport <command>
  4535. AfterArcExport <command>
  4536.  
  4537.     Commands to be run before/after archiving the exported
  4538.     file.
  4539.  
  4540.     <command> can be any type of command (executable file,
  4541.     batch file, internal command, alias, etc.) and supports
  4542.     the %a (full archive name) and %f (name of the file to
  4543.     be compressed, no path) and is run from the directory
  4544.     where %f resides.
  4545.  
  4546.     WARNING: since <command> is executed from the directory
  4547.     where the file to be compressed belongs, you might need
  4548.     to specify the location of the config files used by the
  4549.     programs invoked via <command>.
  4550.  
  4551.   Example:
  4552.  
  4553.     AfterArcExport Hatch %a
  4554.  
  4555.  
  4556. ΓòÉΓòÉΓòÉ 11.3.4.6.3.3. ExportNeededBeforeKill ΓòÉΓòÉΓòÉ
  4557.  
  4558.  
  4559. ExportNeededBeforeKill
  4560.  
  4561.     Specifies that the exported file is needed by the
  4562.     "BeforeKillSource" command.
  4563.  
  4564.  
  4565. ΓòÉΓòÉΓòÉ 11.3.4.6.4. Export Example ΓòÉΓòÉΓòÉ
  4566.  
  4567.  
  4568.   Export Example:
  4569.  
  4570.         NodeList nodelist.???
  4571.           NodeDiff nodediff.???
  4572.           ArcList  nodelist.??? 2
  4573.           ArcDiff  nodediff.??? 5
  4574.           ArcListDesc Fido Nodelist for day %d (%D), %a format
  4575.           ArcDiffDesc Fido Nodediff for day %d,(%D), %a format
  4576.           Export region25.??? 2:25
  4577.             ArcExport region25.??? 1
  4578.             ArcExportDesc Region 25 %D, %a format
  4579.             ArcExportMethod zip lh
  4580.             AfterArcExport Hatch %a
  4581.           Export region24.??? 2:24
  4582.             ArcExport region24.??? 1
  4583.             ArcExportDesc Region 24 %D, %a format
  4584.             ArcExportMethod zip
  4585.  
  4586.  
  4587.  
  4588.   Export Example to generate a joined list:
  4589.  
  4590.         NodeList nodelist.???
  4591.           NodeDiff nodediff.???
  4592.           ArcList  nodelist.??? 2
  4593.           ArcDiff  nodediff.??? 5
  4594.           ArcListDesc Fido Nodelist for day %d (%D), %a format
  4595.           ArcDiffDesc Fido Nodediff for day %d,(%D), %a format
  4596.           Export + megalist.Lst
  4597.  
  4598.         NodeList zonelist.???
  4599.           NodeDiff zonediff.???
  4600.           ArcList  zonelist.??? 2
  4601.           ArcDiff  zonediff.??? 5
  4602.           ArcListDesc Zonelist for day %d (%D), %a format
  4603.           ArcDiffDesc Zonediff for day %d,(%D), %a format
  4604.           Export + megalist.Lst
  4605.             ArcExport megalist.??? 1
  4606.             ArcExportDesc MegaList, %a format
  4607.             ArcExportMethod zip lh
  4608.  
  4609.  
  4610.  
  4611.  
  4612. ΓòÉΓòÉΓòÉ 11.4. Compress Definition File ΓòÉΓòÉΓòÉ
  4613.  
  4614.  
  4615.           COMPRESS DEFINITION FILE
  4616.  
  4617.  
  4618. The file specified in the CompressCfg statement is a sequence of
  4619. Archive definition blocks, each one starting with "Archiver" and
  4620. ending with "End Archiver". You can find an example in the
  4621. Compress.Cfg file included in the distribution pack.
  4622.  
  4623. The order of the archive definition blocks within this file may
  4624. be important: when trying to unpack a compressed file, the list
  4625. of archivers is scanned in a reverse order.
  4626.  
  4627. In the case of two archivers that use the same identification
  4628. string (e.g. ARC and PAK), you must specify the archiver that
  4629. can unpack both (PAK) after the other one (ARC).
  4630.  
  4631. The compress.cfg file can be shared between DOS/NT and OS/2
  4632. applications: the "DOS" and "OS2" keywords are available to
  4633. distinguish between the commands to be used under DOS/NT and
  4634. OS/2.
  4635.  
  4636. O.S. specific archivers or commands must be prefixed with the
  4637. relevant keyword.
  4638.  
  4639. IMPORTANT NOTE: The lines that begin with "DOS" or "OS2" are
  4640. parsed by the DOS/NT and OS/2 versions respectively. If you need
  4641. the OS/2 version to execute a DOS command, you MUST NOT use the
  4642. DOS keyword: if you do, it will never parse that line; if you do
  4643. not, it will execute the DOS command "normally", provided you
  4644. have installed OS/2's Dos support.
  4645.  
  4646. See the examples below.
  4647.  
  4648.  
  4649. ΓòÉΓòÉΓòÉ 11.4.1. Archiver ΓòÉΓòÉΓòÉ
  4650.  
  4651.  
  4652. Archiver <ARCname>
  4653.  
  4654.     Starts the Archive definition block.
  4655.  
  4656.     <ARCname> is the name used to identify this archiver.
  4657.  
  4658.   Example:
  4659.  
  4660.     Archiver ZIP
  4661.  
  4662.  
  4663. ΓòÉΓòÉΓòÉ 11.4.2. Extension ΓòÉΓòÉΓòÉ
  4664.  
  4665.  
  4666. Extension  <ext>
  4667.  
  4668.     Specifies the default extension for the compressed
  4669.     files.
  4670.  
  4671.   Example:
  4672.  
  4673.     Extension ZIP
  4674.  
  4675.  
  4676. ΓòÉΓòÉΓòÉ 11.4.3. Ident ΓòÉΓòÉΓòÉ
  4677.  
  4678.  
  4679. Ident <ofs>,<ID>
  4680.  
  4681.     <ofs> is a decimal integer number representing the
  4682.     offset at which an archive identity marker <ID> must be
  4683.     present.
  4684.  
  4685.     Negative values can be used to indicate offsets from the
  4686.     END of a compressed file. -1 means "the last byte", -2
  4687.     "the second last byte" and so on.
  4688.  
  4689.     <ID> is a series of hexadecimal figures which represent
  4690.     the bytes of the marker string that must be present at
  4691.     the specified offset of the archive file.
  4692.  
  4693.   Example:
  4694.  
  4695.     Ident 0,504b0304  ; "PK^c^d"
  4696.  
  4697.  
  4698. ΓòÉΓòÉΓòÉ 11.4.4. Add ΓòÉΓòÉΓòÉ
  4699.  
  4700.  
  4701. Add <command>
  4702.  
  4703.     Specifies the command to add files to an archive.
  4704.     %a and %f are translated to the name of the archive and
  4705.     file to add.
  4706.  
  4707.   Example:
  4708.  
  4709.     Add zip -jk %a %f
  4710.  
  4711.  
  4712. ΓòÉΓòÉΓòÉ 11.4.5. Extract ΓòÉΓòÉΓòÉ
  4713.  
  4714.  
  4715. Extract <command>
  4716.  
  4717.     Specifies the command to extract files from an archive.
  4718.     %a and %f are translated to the name of the archive and
  4719.     file to extract.
  4720.  
  4721.   Example:
  4722.  
  4723.     Extract unzip -qqnjC %a %f
  4724.  
  4725.  
  4726. ΓòÉΓòÉΓòÉ 11.4.6. View ΓòÉΓòÉΓòÉ
  4727.  
  4728.  
  4729. View <command>
  4730.  
  4731.     This line is recognized and accepted for compatibility,
  4732.     but not used.
  4733.  
  4734.  
  4735. ΓòÉΓòÉΓòÉ 11.4.7. End Archiver ΓòÉΓòÉΓòÉ
  4736.  
  4737.  
  4738. End Archiver
  4739.  
  4740.     This statement is used to close a Archive definition.
  4741.  
  4742.  
  4743. ΓòÉΓòÉΓòÉ 11.4.8. Examples ΓòÉΓòÉΓòÉ
  4744.  
  4745.               Examples
  4746.  
  4747.  
  4748.   Complete example 1 (you need OS/2 only):
  4749.  
  4750. Archiver ZIP
  4751.    Extension   ZIP
  4752.    Ident     0,504b0304
  4753.    Add      zip -jk %a %f
  4754.    Extract    unzip -qqnjC %a %f
  4755.    View      unzip -v %a
  4756. End Archiver
  4757.  
  4758.  
  4759.   Complete example 2 (you need DOS only):
  4760.  
  4761. Archiver ZIP
  4762.    Extension   ZIP
  4763.    Ident     0,504b0304
  4764.    Add      pkzip -a %a %f
  4765.    Extract    pkunzip -n %a %f
  4766.    View      pkzip -v %a
  4767. End Archiver
  4768.  
  4769.  
  4770.   Complete example 3 (you need both OS/2 and DOS):
  4771.  
  4772. Archiver ZIP
  4773.    Extension   ZIP
  4774.    Ident     0,504b0304
  4775. OS2  Add      zip -jk %a %f
  4776. DOS  Add      pkzip -a %a %f
  4777. OS2  Extract    unzip -qqnjC %a %f
  4778. DOS  Extract    pkunzip -n %a %f
  4779. OS2  View      unzip -v %a
  4780. DOS  View      pkzip -v %a
  4781. End Archiver
  4782.  
  4783.  
  4784.   Complete example 4 (archiver to be used under DOS only):
  4785.  
  4786. DOS Archiver ZOO
  4787. DOS   Extension    ZOO
  4788. DOS   Ident      0,5a4f4f             ; "ZOO"
  4789. DOS   Add       zoo a: %a %f
  4790. DOS   Extract     zoo e:O %a %f
  4791. DOS   View       zoo v %a
  4792. DOS End Archiver
  4793.  
  4794.  
  4795.   Complete example 5 (it's a DOS executable, to be used under
  4796.             DOS or OS/2 indifferently):
  4797.  
  4798. Archiver ZOO
  4799.    Extension    ZOO
  4800.    Ident      0,5a4f4f             ; "ZOO"
  4801.    Add       zoo a: %a %f
  4802.    Extract     zoo e:O %a %f
  4803.    View       zoo v %a
  4804. End Archiver
  4805.  
  4806.  
  4807. ΓòÉΓòÉΓòÉ 12. TroubleShooting ΓòÉΓòÉΓòÉ
  4808.  
  4809.  
  4810.          T R O U B L E S H O O T I N G
  4811.  
  4812.  
  4813. ΓòÉΓòÉΓòÉ 12.1. Extraction problem ΓòÉΓòÉΓòÉ
  4814.  
  4815.  
  4816.             Extraction problem
  4817.  
  4818. Problem:
  4819.      FastLst does not extract the correct
  4820.      nodelist/nodediff.
  4821.  
  4822. Solution:
  4823.      Perhaps there is some nodelist/nodediff with corrupted
  4824.      file date. Check your "ArcPath", manually extract to
  4825.      the "InputPath" the required nodelist/nodediff and
  4826.      delete the archive (or reset its file-date so that it
  4827.      is similar to that of the enclosed file). FastLst will
  4828.      automatically rearchive the nodelist/nodediff if you
  4829.      use "ArcMethod"/"ArcDiffMethod", otherwise you can
  4830.      rearchive manually.
  4831.  
  4832.  
  4833. ΓòÉΓòÉΓòÉ 12.2. Out of Memory ΓòÉΓòÉΓòÉ
  4834.  
  4835.  
  4836.              Out of Memory
  4837.  
  4838. Problem:
  4839.      FastLst runs out of memory (Dos versions).
  4840.  
  4841. Solution:
  4842.      - give more DPMI memory to FastLst
  4843.  
  4844.      - enable the DOS4GW virtual memory mode, using the
  4845.       DOS4GVM environment variable (e.g. for 16MB virtual
  4846.       allocation size: SET DOS4GVM=VirtualSize#16384).
  4847.  
  4848.       This works under real Dos only: if you are using
  4849.       OS/2 dos sessions, use a higher DPMI_MEMORY_LIMIT in
  4850.       the Dos settings.
  4851.  
  4852.  
  4853. ΓòÉΓòÉΓòÉ 12.3. Problems with Empty Phone entries ΓòÉΓòÉΓòÉ
  4854.  
  4855.  
  4856.         Problems with Empty Phone entries
  4857.  
  4858. Problem:
  4859.      Some program behaves oddly while accessing entries
  4860.      that contain an empty phone number.
  4861.  
  4862. Solution:
  4863.      The problem might be caused by the cost that is
  4864.      assigned to empty-phone nodes (65535 by default).
  4865.      Try using the "CostNullPhone" global statement to give
  4866.      lower costs.
  4867.  
  4868.      Example:
  4869.  
  4870.      CostNullPhone 900 0
  4871.  
  4872.  
  4873. ΓòÉΓòÉΓòÉ 12.4. Slow processing ΓòÉΓòÉΓòÉ
  4874.  
  4875.  
  4876.             Slow processing
  4877.  
  4878. Problem:
  4879.      FastLst works very slowly.
  4880.  
  4881. Solution:
  4882.      Perhaps you are compiling a large nodelist or set of
  4883.      nodelists on a system with few MegaBytes of free
  4884.      physical RAM, so that the OS needs to extensively use
  4885.      virtual memory. Try using the "LinkOnDisk" statement
  4886.      in the configuration file.
  4887.  
  4888.  
  4889. ΓòÉΓòÉΓòÉ 12.5. System performance degradation ΓòÉΓòÉΓòÉ
  4890.  
  4891.  
  4892.          System performance degradation
  4893.  
  4894. Problem:
  4895.      FastLst loads the system excessively, so that other
  4896.      OS/2 tasks don't perform properly (OS/2 version).
  4897.  
  4898. Solution:
  4899.      Use the "Priority Idle" statement in the configuration
  4900.      file, so that FastLst receives its time slices only
  4901.      when other processes with higher priority are idle.
  4902.  
  4903.  
  4904. ΓòÉΓòÉΓòÉ 12.6. I want maximum speed ΓòÉΓòÉΓòÉ
  4905.  
  4906.  
  4907.            I want maximum speed
  4908.  
  4909. Problem:
  4910.      I run FastLst while the communications are off, so I
  4911.      would like it to run as fast as possible even if it is
  4912.      in the background and other tasks are active (OS/2
  4913.      version).
  4914.  
  4915. Solution:
  4916.      Use the "Priority High 31" statement in the
  4917.      configuration file, so that FastLst receives the
  4918.      maximum priority for "non time-critical" processes.
  4919.  
  4920.  
  4921. ΓòÉΓòÉΓòÉ 12.7. Archived Diffs are not applied ΓòÉΓòÉΓòÉ
  4922.  
  4923.  
  4924.          Archived Diffs are not applied
  4925.  
  4926. Problem:
  4927.      FastLst does not apply the archived Diffs.
  4928.  
  4929. Solution:
  4930.      Remember that "InputPath <path>" is the default path
  4931.      for lists and diffs, while "ArcPath <path>" is the one
  4932.      for archives.
  4933.  
  4934.      Please compare your Compress.cfg with the example one,
  4935.      check the paths and try the commands manually.
  4936.  
  4937.      Check the day-extensions and time-stamps of the
  4938.      relevant files.
  4939.  
  4940.  
  4941. ΓòÉΓòÉΓòÉ 12.8. Dos/32 DOS4GW exception ΓòÉΓòÉΓòÉ
  4942.  
  4943.  
  4944.           Dos/32 DOS4GW exception
  4945.  
  4946. Problem:
  4947.      The Dos/32 version of FastLst aborts with an exception
  4948.      from the Dos extender.
  4949.  
  4950. Solution:
  4951.      Try booting with a "clean" config.sys and autoexec.bat
  4952.      (the Dos extender might be incompatible with some of
  4953.      your loaded drivers or TSRs.
  4954.  
  4955.  
  4956. ΓòÉΓòÉΓòÉ 12.9. Dial Scripts and VMODEM addresses ΓòÉΓòÉΓòÉ
  4957.  
  4958.  
  4959.         Dial Scripts and VMODEM addresses
  4960.  
  4961. Problem:
  4962.      How can I put script names or internet addresses in
  4963.      the place of a phone number ?
  4964.  
  4965. Solution:
  4966.      You may use the "Phone" statement.
  4967.  
  4968.      Example:
  4969.  
  4970.      Let's suppose the following Modem Type table is
  4971.      defined:
  4972.  
  4973.           TypeDef
  4974.             X75    1
  4975.             V34    2
  4976.             VM     3
  4977.           End
  4978.  
  4979.  
  4980.      You may use a Phone override of this kind:
  4981.  
  4982.           Phone 2:345/678 domain.com VM,CM 10 0
  4983.  
  4984.  
  4985.      And a ModemTrans (for Binkley's VMODEM line):
  4986.  
  4987.           ModemTrans   0
  4988.           ModemTrans   1
  4989.           ModemTrans   2
  4990.           ModemTrans   3 ATDT#  ; Vmodem
  4991.  
  4992.  
  4993.  
  4994. ΓòÉΓòÉΓòÉ 12.10. Region and zone-level Export ΓòÉΓòÉΓòÉ
  4995.  
  4996.  
  4997.          Region and zone-level Export
  4998.  
  4999. Problem:
  5000.      How can I export a Region segment together with the
  5001.      zone-level entries ?
  5002.  
  5003. Solution:
  5004.      The zone level entries have the Region/Net field equal
  5005.      to the zone number; you can use the Export statement
  5006.      in the following way:
  5007.  
  5008.      export MyR33.??? 1:1 2:2 2:33 3:3 4:4 5:5 6:6
  5009.  
  5010.  
  5011. ΓòÉΓòÉΓòÉ 12.11. Support ? ΓòÉΓòÉΓòÉ
  5012.  
  5013.  
  5014.               Support ?
  5015.  
  5016. Problem:
  5017.      I cannot find the solution to my problems.
  5018.  
  5019. Solution:
  5020.      - Try linking the APWORKS support echo
  5021.      - Try asking your local supporter
  5022.      - Try asking the author directly
  5023.      You can find the addresses in the ReadMe.1st file.
  5024.  
  5025.  
  5026. ΓòÉΓòÉΓòÉ 13. SHAREWARE ΓòÉΓòÉΓòÉ
  5027.  
  5028.  
  5029.             S H A R E W A R E
  5030.  
  5031.  
  5032. If you like this program and continue using it, you should pay
  5033. the author for his work, as per the ShareWare concept of
  5034. distribution.
  5035.  
  5036. Please see LICENSE.DOC and REGISTER.DOC for information.
  5037.  
  5038. Thank you for your interest in FastLst.
  5039.  
  5040.  
  5041. ΓòÉΓòÉΓòÉ 13.1. License.Doc ΓòÉΓòÉΓòÉ
  5042.  
  5043.  
  5044.            ΓòöΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòù
  5045.            Γòæ        Γòæ
  5046.            Γòæ F A S T L S T Γòæ
  5047.            Γòæ        Γòæ
  5048.            ΓòÜΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓò¥
  5049.  
  5050.  
  5051.             L I C E N S E
  5052.  
  5053.              P O L I C Y
  5054.  
  5055.              June 1997
  5056.  
  5057.  
  5058. This software (program and accompanying documentation) are:
  5059.  
  5060. Copyright (c) 1992-1997 Alberto Pasquale, all rights reserved.
  5061.  
  5062.  
  5063.            DISTRIBUTION FORMAT
  5064.  
  5065.  
  5066. This software is distributed in a locked RAR archive, with
  5067. embedded authenticity-verification information.
  5068.  
  5069. The distribution of modified archives, including those derived
  5070. from the conversion to a different archiver, is explicitly
  5071. prohibited.
  5072.  
  5073. When the RAR extension is not accepted, you should either store
  5074. the original RAR archive inside a different one (e.g. RAR inside
  5075. ZIP) or get the self-extracting executable that is prepared by
  5076. the author (available on ftp.bmtmicro.com/bmtmicro).
  5077.  
  5078.  
  5079.  
  5080.            S H A R E W A R E
  5081.  
  5082.  
  5083. This software is distributed as ShareWare: you are granted the
  5084. right to evaluate the program for a maximum of 30 days before
  5085. paying the author. After the evaluation period, you are required
  5086. to either register (see REGISTER.DOC) or stop using the program.
  5087.  
  5088. You are encouraged to distribute the original and unmodified
  5089. package freely, in any form and on any media, provided you do
  5090. not charge any fee for the program itself.
  5091.  
  5092. This package could be included in CD-ROM collections,
  5093. subscription download areas, BBS packages, provided it remains
  5094. in its complete and unmodified original archive.
  5095.  
  5096. In any case, the user must register with the author after the
  5097. evaluation period.
  5098.  
  5099. IMPORTANT: the registration is NOT a trade transaction, it is to
  5100. be considered as payment of royalties; therefor the registration
  5101. key is personal and NOT transferrable.
  5102.  
  5103.  
  5104.              DISCLAIMER
  5105.  
  5106.  
  5107. This software is provided on an "as is" basis without warranty
  5108. of any kind, expressed or implied, including but not limited to
  5109. the implied warranties of merchantability and fitness for a
  5110. particular purpose.
  5111.  
  5112. The person using the software bears all risk as to its quality
  5113. and performance.
  5114.  
  5115. The author will not be liable for any special, incidental,
  5116. consequential, indirect or similar damages due to loss of data
  5117. or any other reason.
  5118.  
  5119.  
  5120. ΓòÉΓòÉΓòÉ 13.2. Register.Doc ΓòÉΓòÉΓòÉ
  5121.  
  5122.  
  5123.   *******  **   ****  ******  ****   ****  ******
  5124.   **  *  ****  **  **  * ** *  **   **  **  * ** *
  5125.   ** *  **  **  **     **   **   **     **
  5126.   ****  **  **  ****   **   **    ****   **
  5127.   ** *  ******    **   **   **  *   **   **
  5128.   **   **  **  **  **   **   **  ** **  **   **
  5129.   ****   **  **  ****   ****  *******  ****   ****
  5130.  
  5131.  
  5132.     (C) Copyright 1992-1997  by  Alberto Pasquale
  5133.  
  5134.       A L L  R I G H T S  R E S E R V E D
  5135.  
  5136.  
  5137. For licensing terms and disclaimer, see LICENSE.DOC.
  5138.  
  5139. This program required a lot of work: by registering you will
  5140. support me in developing this and other similar products.
  5141.  
  5142. You will receive a registration Key that removes the initial 2
  5143. second pause and makes the program show "Registered <month/year>
  5144. To: <Reg.String>" instead of the registration request banner.
  5145.  
  5146. The registration is guaranteed valid for all future minor
  5147. updates and, in any case, for all versions that will be released
  5148. in a period of 2 years after registration. After this period, an
  5149. upgrade fee might possibly be required in the case of major new
  5150. releases.
  5151.  
  5152. The registration key works FOREVER with the current version of
  5153. the program for ANY platform: you do not have to pay anything in
  5154. the case you change your operating system.
  5155.  
  5156. ΓòöΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòù
  5157. Γòæ                               Γòæ
  5158. Γòæ Registration fee: US$ 25, DEM 35, ITL 30,000 or (see below) Γòæ
  5159. Γòæ                               Γòæ
  5160. ΓòÜΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓò¥
  5161.  
  5162.  
  5163.  
  5164. ΓòÉΓòÉΓòÉ 13.2.1. How to Register ΓòÉΓòÉΓòÉ
  5165.  
  5166.  
  5167.             HOW TO REGISTER
  5168.  
  5169.  
  5170.  
  5171. Registering is quite easy; you can register:
  5172.  
  5173.  
  5174. - Directly with me by cash, check or international
  5175.  (not domestic !) postal money order.
  5176.  
  5177. - via local Registration Site in Canada, Germany, UK.
  5178.  
  5179. - via BMT Micro (Wilmington, NC, USA), by credit card, money
  5180.  order, cashiers check, personal check, German or British
  5181.  currency.
  5182.  
  5183. - via PsL (Houston, TX, USA), by credit card.
  5184.  
  5185.  
  5186. The registration key will be delivered via internet e-mail or
  5187. crash netmail depending on availability; fax and postal mail
  5188. will be used only in case of problems.
  5189.  
  5190. Should you not receive your registration key in a reasonable
  5191. time, please feel free to contact me.
  5192.  
  5193. Please allow at least 3 weeks for response to international
  5194. airmail.
  5195.  
  5196.  
  5197. Please address your requests, complaints, suggestions to:
  5198.  
  5199.  Alberto Pasquale of 2:332/504@fidonet
  5200.  
  5201.  alberto.pasquale@interbusiness.it
  5202.  
  5203.  2:332/504@fidonet +39-59-246112 X75 V120 X2 V34+ V32T H16
  5204.  FAX:        +39-59-246113
  5205.  
  5206.  
  5207. ΓòÉΓòÉΓòÉ 13.2.1.1. Author's ΓòÉΓòÉΓòÉ
  5208.  
  5209.       Hot to register directly with the author
  5210.  
  5211. You have to send the registration information and money to:
  5212.  
  5213.    Alberto Pasquale
  5214.    Viale Verdi 106
  5215.    41100 Modena
  5216.    Italy
  5217.  
  5218.  
  5219. ΓòÉΓòÉΓòÉ 13.2.1.1.1. Cash ΓòÉΓòÉΓòÉ
  5220.  
  5221.  
  5222. Cash:
  5223.    Just put the (accurately hidden) banknotes (US$ 25, DEM
  5224.    35, ITL 30,000) together with Register.For in an envelope.
  5225.    If you do not have US dollars, German marks or Italian
  5226.    liras and do not like going to the bank, you can send the
  5227.    equivalent in your currency, provided it is commonly
  5228.    exchangeable.
  5229.  
  5230.  
  5231. ΓòÉΓòÉΓòÉ 13.2.1.1.2. Check ΓòÉΓòÉΓòÉ
  5232.  
  5233.  
  5234. Check:
  5235.    Just put the check (accurately hidden) together with
  5236.    Register.For in an envelope. Please read carefully the
  5237.    following instructions:
  5238.  
  5239.    - Eurocheque: ITL 30,000 (thirty thousand).
  5240.  
  5241.    - Italian check: 30.000 lire
  5242.  
  5243.    - Other (bank) checks: US$ 25, DEM 35 or equivalent.
  5244.  
  5245.    ATTENTION: NO Postal Checks please.
  5246.  
  5247.  
  5248. ΓòÉΓòÉΓòÉ 13.2.1.1.3. Postal Money Order ΓòÉΓòÉΓòÉ
  5249.  
  5250.  
  5251. Postal Money Order:
  5252.  
  5253.    Just go to the post office and ask for an _INTERNATIONAL_
  5254.    postal money order. It is best to go to a major post
  5255.    office, since minor ones are generally not used dealing
  5256.    with international money orders. Usually you can choose
  5257.    whether to use your currency or the recipient's.
  5258.  
  5259.    Please be sure to specify the necessary registration
  5260.    information in the "sender message" field or send
  5261.    Register.For separately to the author.
  5262.  
  5263.    - International money order in italian liras: ITL 30,000
  5264.     (thirty thousand).
  5265.  
  5266.    - International money order in your currency: US$ 25,
  5267.     DEM 35 or equivalent.
  5268.  
  5269.    - Italian money order "vaglia": 30.000 lire.
  5270.  
  5271.    IMPORTANT: Please DO NOT send me normal "domestic" postal
  5272.    money orders, since they are not payable outside of your
  5273.    country; you must use INTERNATIONAL postal money orders.
  5274.  
  5275.    If you would like to receive the key soon, you
  5276.    can FAX me (+39-59-246113) the receipt of the
  5277.    postal money order together with REGISTER.FOR.
  5278.  
  5279.  
  5280. ΓòÉΓòÉΓòÉ 13.2.1.2. Local Registration/Support sites ΓòÉΓòÉΓòÉ
  5281.  
  5282.  
  5283. Local Registration/Support Sites:
  5284.  
  5285.     If you choose this way, you will have contacts with the
  5286.     local supporter only: you will send him the money and
  5287.     registration form; in a few days you will receive your
  5288.     key.
  5289.  
  5290.  
  5291. ΓòÉΓòÉΓòÉ 13.2.1.2.1. Canada ΓòÉΓòÉΓòÉ
  5292.  
  5293.  
  5294. Canada:
  5295.  
  5296.     Mary-Anne Wise
  5297.  
  5298.     58-771 Columbia St.
  5299.     New Westminster, BC V3M 1B6
  5300.  
  5301.     Fidonet:  1:153/831
  5302.  
  5303.     Internet: MWISE@bc.sympatico.ca
  5304.  
  5305.     Reg. Fee: CDN 32.50
  5306.  
  5307.     Methods of payment: cheque, money order
  5308.  
  5309.  
  5310. ΓòÉΓòÉΓòÉ 13.2.1.2.2. Germany ΓòÉΓòÉΓòÉ
  5311.  
  5312.  
  5313. Germany:
  5314.  
  5315.     Roland Schiradin
  5316.     Stockbornstr. 10
  5317.     65343 Eltville
  5318.     Germany
  5319.  
  5320.     Fidonet:  2:2454/169 Mail Only
  5321.     Internet: schiradi@tap.de
  5322.  
  5323.     Reg. Fee: DEM 35
  5324.  
  5325.     He has the APWORKS support echo and TIC file-areas for
  5326.     my programs available. Besides he can provide you with
  5327.     information about the nodes carrying APWORKS in
  5328.     Germany.
  5329.  
  5330.     He has the latest version of ApWorks programs available
  5331.     for F/R with the same magics listed in Readme.1st.
  5332.  
  5333.  
  5334. ΓòÉΓòÉΓòÉ 13.2.1.2.3. United Kingdom ΓòÉΓòÉΓòÉ
  5335.  
  5336.  
  5337. United Kingdom:
  5338.  
  5339.     Vince Coen
  5340.     Applewood House
  5341.     Epping Road
  5342.     Roydon, Harlow
  5343.     Essex, CM19 5DA, UK
  5344.  
  5345.     Fidonet: 2:257/609
  5346.  
  5347.     Reg. Fee: GBP 15.00
  5348.  
  5349.     Payment can be in Cash, Cheque (bankers card number on
  5350.     order form please), EuroCheck, Credit Card or direct to
  5351.     my bankers. Payment MUST be in Pounds Sterling.
  5352.  
  5353.     For payment through the bank:
  5354.     Bank:     First Direct.
  5355.     Sort code:   40-47-86.
  5356.     Account:    00449334
  5357.     Account name: Vincent Coen.
  5358.  
  5359.     Payment reference must include Sysop name and node number.
  5360.  
  5361.     For payment via Visa/Mastercard/Eurocard there is a 5.50%
  5362.     surcharge which will add 0.83 to the cost of 15.00, i.e.
  5363.     15.83 Pounds Sterling.
  5364.     Credit Card details needed: Name and address of card
  5365.     holder, Card number and card expiry date.
  5366.  
  5367.     The latest version of ApWorks programs are available
  5368.     for F/R with the same magics listed in Readme.1st.
  5369.  
  5370.  
  5371.  
  5372. ΓòÉΓòÉΓòÉ 13.2.1.3. BMT Micro ΓòÉΓòÉΓòÉ
  5373.  
  5374.          How to register with BMT Micro
  5375.  
  5376.  
  5377. You have to fill in the BmtMicro.For registration form and send
  5378. it (or equivalent information) to BMT Micro.
  5379.  
  5380. The registration fee is US$ 25.
  5381.  
  5382. ATTENTION: for any question regarding the program, its
  5383. registration, support etc, you must contact me directly.
  5384. Please contact BMT Micro to order ONLY.
  5385.  
  5386. Usually your key will be delivered within 2 business days.
  5387.  
  5388. In certain holiday periods (Christmas, Easter, end of July,
  5389. first half of August) there might be some delay (a few days for
  5390. Christmas or Easter, a couple of weeks in July/August). If you
  5391. think your order is particularly late, please contact me first !
  5392.  
  5393.  
  5394.     Mail Orders To: BMT Micro
  5395.             PO Box 15016
  5396.             Wilmington, NC  28408
  5397.             U.S.A.
  5398.  
  5399.      Voice Orders: 8:00am - 7:00pm EST (-5 GMT)
  5400.             (800) 414-4268 (Orders only)
  5401.             (910) 791-7052 (Orders / Order Inquires)
  5402.  
  5403.       Fax Orders: (800) 346-1672 24 hours, 7 days a week
  5404.             (910) 350-2937 24 hours, 7 days a week
  5405.  
  5406. Online Orders via BBS: (910) 350-8061 10 lines, all 14.4K
  5407.             (910) 799-0923 28.8k line
  5408.  
  5409. On the Web:       http://www.bmtmicro.com
  5410.             http://www.os2ss.com
  5411.             http://www.frankson.aus.net/bmtaust/
  5412.  
  5413. Ordering and general ordering questions:
  5414.           Via AOL: bmtmicro
  5415.           via MSN: bmtmicro
  5416.         Via Prodigy: HNGP66D
  5417.        via Compuserve: 74031,307
  5418.         via Internet: orders@bmtmicro.com
  5419.                telnet@bmtmicro.com
  5420.  
  5421. Credit cards: Visa, Mastercard, Discover, American Express,
  5422.        Diners Club, Carte Blanche.
  5423.  
  5424. They also accept money orders, cashiers checks, personal checks.
  5425. Personal checks are subject to clearance.
  5426. US Currency is welcome (only by registered mail, return receipt
  5427. requested).
  5428.  
  5429.       BMTMICRO ORDERING FROM INSIDE GERMANY ONLY
  5430.       ==========================================
  5431.  
  5432. Persons in Germany may also transfer funds into the BMTMICRO
  5433. account with Deutsche Bank.  Once the money is deposited you
  5434. may either fax a confirmation to BMTMICRO with proof of deposit
  5435. or wait until Deutsche Bank notifies them of the transaction
  5436. (usually 10-18 business days). Account information is as
  5437. follows:
  5438.  
  5439. Deutsche Bank / Frankfurt Branch
  5440. Empf╨önger:  Thomas Bradford / BMT Micro
  5441. Konto-Nummer: 0860221
  5442. Bankleitzahl: 500-700-10
  5443.  
  5444. When you make the transfer, be sure to put your name and the
  5445. program you are registering on the transfer.
  5446.  
  5447. Current exchange rates can be obtained by sending an email to
  5448. dm_to_us@bmtmicro.com.  An automated reply will return todays
  5449. exchange rates.
  5450.  
  5451. It is very important that you send BMTMICRO a completed order
  5452. form by either email or fax if you deposit money into this
  5453. account for a registration.  Fill the order form out as usual
  5454. except in the credit card number field put "DEUTSCHE BANK". They
  5455. will file the order and use it to match against the deposit
  5456. information they receive from the bank.
  5457.  
  5458.               IMPORTANT!
  5459.               ----------
  5460. When you email BMTMICRO your order form, they will reply with an
  5461. acknowledgement.  If you do not get an acknowledgement within
  5462. 24 hours please send your order again in case it was lost.  This
  5463. extra bit of caution can save a lot of confusion.
  5464.  
  5465. If you are concerned that your order is taking too long to
  5466. process, feel free to check with BMTMICRO about the status of
  5467. your order.  It's important to all of us that you feel safe
  5468. doing business with BMTMICRO and please feel free to suggest
  5469. ways we can improve our service to you.
  5470.  
  5471.  
  5472. ΓòÉΓòÉΓòÉ 13.2.1.4. PsL ΓòÉΓòÉΓòÉ
  5473.  
  5474.       How to register with PsL (by credit card)
  5475.  
  5476.  
  5477. You must fill in the PsL.Crd and Register.For forms; then
  5478. you must send BOTH of them to PSL directly (they will forward
  5479. Register.for information to me).
  5480.  
  5481. You can order with MasterCard, Visa, American Express or
  5482. Discover Card: the charge is US$ 25.
  5483.  
  5484. ATTENTION: you MUST NOT send me any information about your
  5485. credit card. If you do, I am NOT allowed to forward your credit
  5486. card info to PSL.
  5487.  
  5488. ATTENTION: for any question regarding the program, its
  5489. registration, key delivery etc, you must contact me directly.
  5490. You must contact PSL to order ONLY.
  5491.  
  5492. PSL will notify me your order within one business day and I will
  5493. usually send your key by e-mail or crash netmail within 24h, so
  5494. if you order by fax or phone, you should usually receive your
  5495. key within 2 business days.
  5496.  
  5497. ATTENTION: In certain "holiday" periods (Christmas, Easter, end
  5498. of July, first half of August) there might be some delay (a few
  5499. days for Christmas or Easter, a couple of weeks in July/August).
  5500. If you think your order is particularly late, please contact me
  5501. first !
  5502.  
  5503. ATTENTION: It may happen that the PSL operator asks you for your
  5504. preferred diskette format. You must be aware that this may be
  5505. "standard" PSL procedure, but I will send you a key ONLY (via
  5506. e-mail, crash netmail, fax or letter), since you already have
  5507. the program.
  5508.  
  5509. IMPORTANT: Please, be sure to always give PsL the address where
  5510. you want to receive your key: e-mail address, fidonet name _and_
  5511. address, fax number, and/or complete postal address. If you are
  5512. not in the fidonet nodelist and I don't receive enough
  5513. information, I will be forced to send you an air-mail letter
  5514. (2-3 weeks for delivery). In the case of doubts, you can send
  5515. the Register.For to me too, by e-mail, crash netmail or fax.
  5516.  
  5517. Credit card registrations may be made by the following methods
  5518. (please be sure to always include all the necessary information
  5519. from BOTH Register.For and PsL.Crd).
  5520.  
  5521.    -- PsL on the Web:
  5522.  
  5523.      http://www.pslweb.com
  5524.  
  5525.    -- Phone PsL at:
  5526.  
  5527.      800-2424-PsL (800-242-4775) Ext. 11471 (USA)
  5528.  
  5529.      +1-713-524-6394 Ext. 11471 (international)
  5530.  
  5531.      PSL Office Hours:
  5532.  
  5533.      8:00 a.m. to  6:00 p.m. CST Monday->Friday
  5534.  
  5535.      Be sure to have BOTH Register.For AND PsL.Crd
  5536.      available to give order information to PSL.
  5537.      First of all, mention the PSL part number 11471.
  5538.  
  5539.    -- FAX PsL at +1-713-524-6398
  5540.  
  5541.    -- Email PsL at 11471@pslweb.com
  5542.  
  5543.    -- Write PsL at:
  5544.      The Public (software) Library
  5545.      P.O. Box 35705
  5546.      Houston, TX 77235-5705, USA
  5547.  
  5548.    Please, let me insist one more time:
  5549.  
  5550.    ΓòöΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòù
  5551.    Γòæ The above numbers are for ORDERS ONLY.         Γòæ
  5552.    Γòæ Any question about the status of the shipment of the  Γòæ
  5553.    Γòæ order (registration key), registration options,    Γòæ
  5554.    Γòæ product details, technical support, etc, must be    Γòæ
  5555.    Γòæ directed to the author, at the address given above in Γòæ
  5556.    Γòæ this documentation.                  Γòæ
  5557.    ΓòÜΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓòÉΓò¥
  5558.  
  5559.  
  5560. ΓòÉΓòÉΓòÉ 13.2.2. How to fill in Register.For ΓòÉΓòÉΓòÉ
  5561.  
  5562.  
  5563.       INSTRUCTIONS FOR COMPILING REGISTER.FOR
  5564.  
  5565.  
  5566. To avoid errors in the key, please PRINT.
  5567.  
  5568. Thank you very much for your support !
  5569.  
  5570.  
  5571. ΓòÉΓòÉΓòÉ 13.2.2.1. Name ΓòÉΓòÉΓòÉ
  5572.  
  5573.  
  5574. Name:
  5575.    Your complete name.
  5576.  
  5577.    Example: John Doe
  5578.  
  5579.  
  5580. ΓòÉΓòÉΓòÉ 13.2.2.2. Reg ΓòÉΓòÉΓòÉ
  5581.  
  5582.  
  5583. Reg:
  5584.    The registration string you want displayed by the program.
  5585.    You can use any character in the IBM set (including special
  5586.    national characters above ASCII 127; if you do not use code
  5587.    page 437 (USA), please specify the code numbers) and you can
  5588.    use lowercase and uppercase at your preference.
  5589.    Maximum length: 63 characters.
  5590.  
  5591.    Usually it should be the same as your name, in which case
  5592.    you can omit this field.
  5593.  
  5594.  
  5595. ΓòÉΓòÉΓòÉ 13.2.2.3. e-mail to ΓòÉΓòÉΓòÉ
  5596.  
  5597.  
  5598. e-mail to:
  5599.    This is your internet e-mail address, if available.
  5600.  
  5601.  
  5602. ΓòÉΓòÉΓòÉ 13.2.2.4. Netmail to ΓòÉΓòÉΓòÉ
  5603.  
  5604.  
  5605. Netmail to:
  5606.    You have to specify the complete destination field for the
  5607.    netmail message.
  5608.  
  5609.    Examples:
  5610.         John Doe of 1:200/300.4
  5611.         John Doe of 1:200/300.0
  5612.  
  5613.  
  5614. ΓòÉΓòÉΓòÉ 13.2.2.5. Crash to ΓòÉΓòÉΓòÉ
  5615.  
  5616.  
  5617. Crash to:
  5618.    You have to specify the data necessary for crashing the
  5619.    message. Usually this should be your system or your Boss
  5620.    (if you are a point).
  5621.  
  5622.    I will call as 2:332/504@fidonet.
  5623.  
  5624.    - If your system (or your Boss) is 24h and it is in the
  5625.     fidonet nodelist, you can omit this field.
  5626.  
  5627.    - If your system is not 24h, please give me a 24h system to
  5628.     which I can crash your netmail for routing.
  5629.  
  5630.    - If the system in consideration is not in the fidonet
  5631.     nodelist, please add its complete phone number and modem
  5632.     type.
  5633.  
  5634.    Examples:
  5635.         1:200/400@fidonet
  5636.         9:800/700@ABCnet +1-703-4567 V34, ISDNC
  5637.  
  5638.  
  5639. ΓòÉΓòÉΓòÉ 13.2.2.6. Fax ΓòÉΓòÉΓòÉ
  5640.  
  5641.  
  5642. Fax:
  5643.    This is your (24h) fax number, if any.
  5644.  
  5645.  
  5646. ΓòÉΓòÉΓòÉ 13.2.2.7. Address ΓòÉΓòÉΓòÉ
  5647.  
  5648.  
  5649. Address:
  5650.    The postal address is the last opportunity of sending you
  5651.    the key.
  5652.  
  5653.  
  5654. ΓòÉΓòÉΓòÉ 13.2.2.8. Version ΓòÉΓòÉΓòÉ
  5655.  
  5656.  
  5657. Version:
  5658.    You should indicate BOTH the version number of the program
  5659.    you are registering AND the Operating System.
  5660.  
  5661.    Example: ver. 2.00  OS/2
  5662.  
  5663.    This is not essential and is included for statistical
  5664.    purposes only (the key works with all current versions).
  5665.  
  5666.  
  5667. ΓòÉΓòÉΓòÉ 13.2.2.9. Notes ΓòÉΓòÉΓòÉ
  5668.  
  5669.  
  5670. Notes:
  5671.    You can send me your wish list for future versions,
  5672.    or anything you like.
  5673.  
  5674.  
  5675. ΓòÉΓòÉΓòÉ 13.2.3. How to fill in BmtMicro.For ΓòÉΓòÉΓòÉ
  5676.  
  5677.  
  5678.       INSTRUCTIONS FOR COMPILING BMTMICRO.FOR
  5679.  
  5680.  
  5681. The first section contains data necessary for BMT Micro (your
  5682. name, company, address, phone and fax).
  5683.  
  5684. The second section contains the "Registration Information" that
  5685. will be relayed to me so that I can build the key and deliver it
  5686. to you.
  5687.  
  5688. The third section contains the product and cost indication.
  5689. The registration is valid for any operating system.
  5690.  
  5691. The forth section contains data for Credit Card payment.
  5692.  
  5693. To avoid errors, please PRINT.
  5694.  
  5695. Thank you very much for your support !
  5696.  
  5697.  
  5698. ΓòÉΓòÉΓòÉ 13.2.3.1. Reg ΓòÉΓòÉΓòÉ
  5699.  
  5700.  
  5701. Reg:
  5702.    The registration string you want displayed by the program,
  5703.    ASCII characters only (<127).
  5704.    Maximum length: 63 characters.
  5705.  
  5706.  
  5707. ΓòÉΓòÉΓòÉ 13.2.3.2. e-mail to ΓòÉΓòÉΓòÉ
  5708.  
  5709.  
  5710. e-mail to:
  5711.    This is your internet e-mail address, if available.
  5712.  
  5713.  
  5714. ΓòÉΓòÉΓòÉ 13.2.3.3. Netmail to ΓòÉΓòÉΓòÉ
  5715.  
  5716.  
  5717. Netmail to:
  5718.    You have to specify the complete destination field for the
  5719.    netmail message.
  5720.  
  5721.    Examples:
  5722.         John Doe of 1:200/300.4
  5723.         John Doe of 1:200/300.0
  5724.  
  5725.  
  5726. ΓòÉΓòÉΓòÉ 13.2.3.4. Crash to ΓòÉΓòÉΓòÉ
  5727.  
  5728.  
  5729. Crash to:
  5730.    You have to specify the data necessary for crashing the
  5731.    message. Usually this should be your system or your Boss
  5732.    (if you are a point).
  5733.  
  5734.    I will call as 2:332/504@fidonet.
  5735.  
  5736.    - If your system (or your Boss) is 24h and it is in the
  5737.     fidonet nodelist, you can omit this field.
  5738.  
  5739.    - If your system is not 24h, please give me a 24h system to
  5740.     which I can crash your netmail for routing.
  5741.  
  5742.    - If the system in consideration is not in the fidonet
  5743.     nodelist, please add its complete phone number and modem
  5744.     type.
  5745.  
  5746.    Examples:
  5747.         1:200/400@fidonet
  5748.         9:800/700@ABCnet +1-703-4567 V34, ISDNC
  5749.  
  5750.  
  5751. ΓòÉΓòÉΓòÉ 13.3. Register.For ΓòÉΓòÉΓòÉ
  5752.  
  5753.  
  5754.  
  5755.  
  5756. FastLst Registration Form
  5757.  
  5758. (Please PRINT)
  5759.  
  5760. See Register.Doc for instructions:        Date: __/__/__
  5761.  
  5762. Name: _________________________________________________________
  5763.  
  5764. Reg.: _________________________________________________________
  5765.  
  5766. e-mail to: ____________________________________________________
  5767.  
  5768. Netmail to: ___________________________________________________
  5769.  
  5770. Crash to: _____________________________________________________
  5771.  
  5772. Fax: __________________________________________________________
  5773.  
  5774. Address: ______________________________________________________
  5775.  
  5776.      ______________________________________________________
  5777.  
  5778.      ______________________________________________________
  5779.  
  5780. Version: _.___  OS/2 ( )  W32 ( )  DOS32 ( )
  5781.  
  5782. Notes: ________________________________________________________
  5783.  
  5784. _______________________________________________________________
  5785.  
  5786. _______________________________________________________________
  5787.  
  5788.  
  5789.  
  5790.  
  5791. ΓòÉΓòÉΓòÉ 13.4. BmtMicro.For ΓòÉΓòÉΓòÉ
  5792.  
  5793.  
  5794. BMT Micro
  5795. FastLst Registration Form
  5796.  
  5797.       *****************************************
  5798.       * DO NOT SEND this form to the author ! *
  5799.       *****************************************
  5800.  
  5801. See Register.Doc for instructions, please PRINT:  Date: __/__/__
  5802.  
  5803. Name: __________________________________________________________
  5804.  
  5805. Company: _______________________________________________________
  5806.  
  5807. Address: _______________________________________________________
  5808.  
  5809. ________________________________________________________________
  5810.  
  5811. City: ______________________  State/Province: _________________
  5812.  
  5813. Country: ___________________________ Postal Code: ______________
  5814.  
  5815. Phone: _________________________________________________________
  5816.  
  5817. Fax: ___________________________________________________________
  5818.  
  5819.  
  5820.          REGISTRATION INFORMATION
  5821.  
  5822. Reg.: __________________________________________________________
  5823.  
  5824. e-mail to: _____________________________________________________
  5825.  
  5826. Netmail to: ____________________________________________________
  5827.  
  5828. Crash to: ______________________________________________________
  5829.  
  5830.  
  5831. Product: FastLst (by Alberto Pasquale)     Price:  US$ 25.00
  5832.  
  5833. North Carolina residents, please add 6% sales tax:   +US$ __.__
  5834.  
  5835.                         Total:  US$ __.__
  5836.  
  5837. For credit card payment only:
  5838.  
  5839. Circle one: VISA / Master / Discover / AMEX / Diner's Club
  5840.  
  5841. Credit card number   : _______________________________________
  5842.  
  5843. Expiration date     : ___/___
  5844.  
  5845. Authorization signature: _______________________________________
  5846.  
  5847.  
  5848. ΓòÉΓòÉΓòÉ 13.5. PsL.Crd ΓòÉΓòÉΓòÉ
  5849.  
  5850.  
  5851.  
  5852.  
  5853. FastLst Credit Card Registration Form
  5854. PSL Part number 11471
  5855.  
  5856.       *****************************************
  5857.       * DO NOT SEND this form to the author ! *
  5858.       *****************************************
  5859.  
  5860.    Please read carefully Register.Doc for instructions.
  5861.  
  5862.  
  5863.                  Date _________________________
  5864.  
  5865.  
  5866. Cardholder's name, exactly as it appears on the credit card:
  5867.  
  5868.       _____________________________________________________
  5869.  
  5870. [Company:] _____________________________________________________
  5871.  
  5872.  
  5873. Billing address for the card:
  5874.  
  5875.    ___________________________________________________________
  5876.  
  5877.    ___________________________________________________________
  5878.  
  5879.    ___________________________________________________________
  5880.  
  5881. Payment by:  ( ) MasterCard      ( ) Visa
  5882.        ( ) American Express   ( ) Discover Card
  5883.  
  5884. Card #:  _______________________________  Exp. Date:  __________
  5885.  
  5886. Signature of cardholder: _______________________________________
  5887.  
  5888.  
  5889.  
  5890. ΓòÉΓòÉΓòÉ 14. Sample config files ΓòÉΓòÉΓòÉ
  5891.  
  5892.         Some example configuration files
  5893.  
  5894.  
  5895. ΓòÉΓòÉΓòÉ 14.1. Minimal Configuration ΓòÉΓòÉΓòÉ
  5896.  
  5897.  
  5898. ;     FastLst 2.00, (c) Copyright 1992-1997 Alberto Pasquale
  5899.  
  5900. ;             FastLst.Cfg Example
  5901.  
  5902. ;             Minimal configuration
  5903.  
  5904.  
  5905. ; RegKey YourRegistrationKey
  5906.  
  5907. CompressCfg d:\flst\compress.cfg
  5908. InputPath d:\flst\nodelist
  5909. ArcPath d:\flst\arc
  5910. V7BugFix
  5911.  
  5912. Dial     ; for Europe
  5913.  39-59-  /   5 0     ; country and district code
  5914.  39-    0   60 0
  5915.  -     00  300 0
  5916. End
  5917.  
  5918. ; For North America (see the doc for more details !):
  5919. ; Dial
  5920. ;  LocalValues 1-414- / 0  ; country and area code
  5921. ;  LocalExchanges 231 232 233 235 236 424
  5922. ;  1-414-  1-  25
  5923. ;  1-    1-  50
  5924. ;  -    011 250
  5925. ; End
  5926.  
  5927.  
  5928. Version7+ v7 NODEX SYSOP
  5929.  FidoUserLst
  5930.  ArcMethod zip
  5931.  ArcDiffMethod zip
  5932.  PasswordFile d:\flst\fastlst.pwd
  5933.  
  5934.  NodeList nodelist.???
  5935.   NodeDiff NODEDIFF.???
  5936.   ArcList nodelist.??? 1
  5937.   ArcDiff nodediff.??? 2
  5938.   ArcListDesc Fido Nodelist for day %d (%D), %a format
  5939.   ArcDiffDesc Fido Nodediff for day %d (%D), %a format
  5940.  
  5941.  NodeList REGION.033 2       ; Region 33 in zone 2
  5942.   ArcList region33.???
  5943.   ArcListDesc Region 33 (Italy) fido nodelist, %a format
  5944.  
  5945.  NodeList Apw_Pnts.Lst  ; Points in "Boss," format
  5946.  
  5947.  
  5948. ΓòÉΓòÉΓòÉ 14.2. Full configuration ΓòÉΓòÉΓòÉ
  5949.  
  5950.  
  5951. ;     FastLst 2.00, (c) Copyright 1992-1997 Alberto Pasquale
  5952.  
  5953. ;            FastLst.Cfg  Example
  5954.  
  5955. ;             Full configuration
  5956.  
  5957. ;        See the documentation for more details !
  5958.  
  5959.  
  5960. ; RegKey YourRegistrationKey
  5961.  
  5962. Priority Idle
  5963.  
  5964. StatusLog d:\flst\fastlst.log
  5965. CompressCfg d:\flst\compress.cfg
  5966. InputPath d:\flst\nodelist    ; plain nodelists
  5967. ArcPath d:\flst\arc       ; archived nodelists/nodediffs
  5968. ArcDate Creation
  5969. ; MultiLineDesc 31
  5970. KillAfter
  5971. KillSource
  5972. V7BugFix
  5973. NoRedir
  5974.  
  5975. CostNullPhone 1000 0       ; costs for nodes with empty phone
  5976. CostVerbatimPhone 10 0      ; costs for Verbatim phones
  5977.  
  5978. Dial     ; for Europe
  5979.  LocalValues 39-59- / 0 0   ; country and district codes
  5980.  LocalExchanges 21 22     ; urban exchanges
  5981.  LocalExchanges 23 24
  5982.  39-59-  /     5 0    ; remaining district #s
  5983.  39-    0    60 0    ; remaining domestic #s
  5984.  43-    0043-  100 0 200 0 ; some international #s
  5985.  32-    0032-  100 0 200 0 ; with higher digital costs
  5986.  45-    0045-  100 0 200 0
  5987.  33-    0033-  100 0 200 0
  5988.  49-    0049-  100 0 200 0
  5989.  44-    0044-  100 0 200 0
  5990.  34-    0034-  100 0 200 0
  5991.  46-    0046-  100 0 200 0
  5992.  41-    0041-  100 0 200 0
  5993.   1-    001-  200 0 400 0
  5994.  -     00   300 0 600 0  ; remaining international #s
  5995. End
  5996.  
  5997.  
  5998. ;Dial    ; for America, see the Docs for further details
  5999. ;  LocalValues 1-510- / 0
  6000. ;  LocalExchanges 224 225 226 227 247 249 252 264 276
  6001. ;  LocalExchanges 278 293 317 353 354 416 417
  6002. ;
  6003. ;  LocalValues 1-408- 1-408- 0
  6004. ;  LocalExchanges 232 251 254 258 259 262 263 272 276
  6005. ;  LocalExchanges 321 324 325 383 428 432 433 434
  6006. ;
  6007. ;  LocalValues 1-415- 1-415- 0
  6008. ;  LocalExchanges 233 234 321 322 323 324 325 326 327
  6009. ;  LocalExchanges 328 329 354 424 462 473 493
  6010. ;
  6011. ;  1-510- /    25
  6012. ;  1-408- 1-408- 25
  6013. ;  1-415- 1-415- 25
  6014. ;  1-   1-   100
  6015. ;  -    011   2000
  6016. ;End
  6017.  
  6018.  
  6019. TypeDef
  6020.  X75  1  Digital
  6021.  ISDNC 1  Digital
  6022.  V120  2  Digital
  6023.  V120H 2  Digital
  6024.  V120L 3  Digital
  6025.  V34  4  Analog
  6026.  VFC  5  Analog
  6027.  V32T  6  Analog
  6028.  H16  7  Analog
  6029.  V32B  8  Analog
  6030.  ZYX  8  Analog ; ZYX implies V32B
  6031.  Z19  8  Analog
  6032.  Z16  8  Analog
  6033.  H14  9  Analog
  6034.  V32  10  Analog
  6035.  HST  11  Analog
  6036.  VM   200 100 0 -\- .* vV ~\~ ": " ; VMODEM
  6037. End
  6038.  
  6039.  
  6040. ; FlagDef
  6041. ;  V42B AB   ; A & B user-flags set on nodes with V42B flag
  6042. ;  ENC  D    ; D user-flag set on nodes with ENC flag
  6043. ; End
  6044.  
  6045. MsgLogArea  d:\bbs\mail\net -$
  6046. MsgRemArea  d:\bbs\mail\net -$
  6047. MsgSize 60000
  6048. MsgFromNode 2:332/504
  6049. MsgToNode  2:332/504
  6050. MsgTo    Alberto Pasquale
  6051. MsgAttr   P
  6052.  
  6053. ;FidoTxt
  6054. ;FidoPrn
  6055.  
  6056. Version7+ \bbs\v7 NODEX SYSOP
  6057.  
  6058.  FidoUserLst
  6059.  LinkOnDisk
  6060.  LogStats
  6061.  
  6062.  ArcMethod zip Lh
  6063.  ArcDiffMethod zip LH
  6064.  ArcExportMethod zip lh
  6065.  PasswordFile d:\flst\fastlst.pwd
  6066.  
  6067.  Phone 2:332/504 39-59-246112
  6068.  Cost  2:332/504 500 0
  6069.  Phone 2:332/501 alberto.com VM,CM 0
  6070.  
  6071.  NodeList zonelist.???
  6072.   NodeDiff alldiff.???
  6073.   ArcList zonelist.??? 2
  6074.   ArcDiff alldiff.??? 5
  6075.   ArcListDesc Non-Fido Nodelist for day %d (%D), %a format
  6076.   ArcDiffDesc Non-Fido Nodediff for day %d (%D), %a format
  6077.  
  6078.  NodeList region24.??? 2      ; Region 24 in zone 2
  6079.   ArcList origr24.??? 1      ; Keep 1 origr24.l??
  6080.   ArcListDesc Original Region 24 Nodelist for day %d (%D), %a format
  6081.  
  6082.  NodeList points24.???
  6083.   GermanPointList
  6084.   NoPointLstPhone
  6085.   NodeDiff pr24diff.???
  6086.   ArcList points24.??? 3
  6087.   ArcDiff pr24diff.??? 5
  6088.   ArcListDesc R24 PointList for day %d (%D), %a format
  6089.   ArcDiffDesc R24 PointDiff for day %d (%D), %a format
  6090.  
  6091.  NodeList ptlist.???        ; PointList in "Boss," format
  6092.   ArcList ptlist.??? 1      ; Keep 1 ptlist.l??
  6093.   ArcListDesc Italian Point List for day %d (%D), %a format
  6094.  
  6095.  NodeList nodelist.???
  6096.   MsgRem SUE  ; log comments beginning with S, U or E
  6097.   NodeDiff NODEDIFF.???
  6098.   ArcList nodelist.??? 1
  6099.   ArcDiff nodediff.??? 2
  6100.   ArcListDesc Fido Nodelist for day %d (%D), %a format
  6101.   ArcDiffDesc Fido Nodediff for day %d (%D), %a format
  6102.  
  6103.   Export region25.??? 2:25
  6104.    ArcExport region25.??? 1
  6105.    ArcExportDesc Region 25 %D, %a format
  6106.  
  6107.  NodeList REGION.033 2       ; Region 33 in zone 2
  6108.   MsgRem SUE
  6109.   ArcList region33.???
  6110.   ArcListDesc Region 33 (Italy) fido nodelist, %a format
  6111.  
  6112.  NodeList hub.500 2:332 33 ; Hub 500 (zone 2, net 332, region 33)
  6113.  
  6114.  NodeList MyNodes.Lst       ; private list
  6115.  
  6116.  NodeList Apw_Pnts.Lst  ; Points in "Boss," format
  6117.  
  6118.  
  6119.  
  6120. Version7 \bbs\v7 NODEX2 SYSOP2  ; let's make a second, shorter, nodelist
  6121.  PasswordFile d:\flst\fastlst.pwd
  6122.  
  6123.  NodeList nodelist.???
  6124.  NodeList REGION.033 2       ; Region 33 in zone 2
  6125.  
  6126.  
  6127. ΓòÉΓòÉΓòÉ 14.3. Compress Definition ΓòÉΓòÉΓòÉ
  6128.  
  6129.  
  6130. ;        Example Compress.Cfg definition file
  6131. ;
  6132. ; If you are already using a Compress.Cfg file with other programs,
  6133. ; you do not need this one.
  6134. ; Just make sure you use the correct switches to avoid case mismatch
  6135. ; with case sensitive archivers, as ZIP/UNZIP.
  6136. ;
  6137. ; The DOS prefix is for the W32 version too.
  6138.  
  6139.  
  6140. Archiver ARC
  6141.    Extension   ARC
  6142.    Ident     0,1a
  6143. OS2  Add      arc aw5 %a %f
  6144. DOS  Add      pkpak -oct a %a %f
  6145. OS2  Extract    arc ew %a %f
  6146. DOS  Extract    pkunpak /r %a %f
  6147. OS2  View      arc vw %a
  6148. DOS  View      pkpak v %a
  6149. End Archiver
  6150.  
  6151.  
  6152. DOS Archiver PAK
  6153. DOS   Extension    PAK
  6154. DOS   Ident      -2,fe
  6155. DOS   Add       pak a %a %f
  6156. DOS   Extract     pak e /wn %a %f
  6157. DOS   View       pak v %a
  6158. DOS End Archiver
  6159.  
  6160.  
  6161. Archiver ZIP
  6162.    Extension   ZIP
  6163.    Ident     0,504b0304
  6164. OS2  Add      zip -jk %a %f     ; store in uppercase
  6165. DOS  Add      pkzip -a %a %f
  6166. OS2  Extract    unzip -qqnjC %a %f  ; case insensitive extract
  6167. DOS  Extract    pkunzip -n %a %f
  6168. OS2  View      unzip -v %a
  6169. DOS  View      pkzip -v %a
  6170. End Archiver
  6171.  
  6172.  
  6173. Archiver LH
  6174.    Extension   LZH
  6175.    Ident     2,2d6c68             ; "-lh"
  6176. OS2  Add      lh a %a %f
  6177. DOS  Add      lha a /m %a %f
  6178. OS2  Extract    lh x %a %f /o
  6179. DOS  Extract    lha e /m %a %f
  6180. OS2  View      lh l %a /v /o
  6181. DOS  View      lha l %a
  6182. End Archiver
  6183.  
  6184.  
  6185. Archiver ARJ
  6186.    Extension   ARJ
  6187.    Ident     0,60ea
  6188. DOS  Add      arj a -e+ %a %f
  6189. OS2  Extract    unarj e %a %f
  6190. DOS  Extract    arj e -n %a %f
  6191. OS2  View      unarj l %a
  6192. DOS  View      arj l %a
  6193. End Archiver
  6194.  
  6195.  
  6196. Archiver RAR
  6197.    Extension   RAR
  6198.    Ident     0,526172211a0700
  6199.    Add      rar a -ee -md64 -ep -y -std -c- %a %f
  6200.    Extract    rar e -o- -y -std -c- %a %f
  6201.    View      rar v -y -std -c- %a
  6202. End Archiver
  6203.  
  6204.  
  6205. ΓòÉΓòÉΓòÉ 15. Version 7 Plus: technical information ΓòÉΓòÉΓòÉ
  6206.  
  6207.  
  6208.  
  6209.            Nodelist Version 7+
  6210.  
  6211.            Version 0, May 30 1997
  6212.  
  6213.       Alberto Pasquale, 2:332/504@fidonet.org
  6214.       Thomas Waldmann, 2:2474/400@fidonet.org
  6215.  
  6216.  
  6217.                TOPIC
  6218.  
  6219. A new nodelist standard that remains FULLY compatible with V7
  6220. applications while adding new features and resolving the major
  6221. shortcomings of V7.
  6222.  
  6223.  
  6224. ΓòÉΓòÉΓòÉ 15.1. Why V7+ ? ΓòÉΓòÉΓòÉ
  6225.  
  6226. 0. Why V7+ ?
  6227. ============
  6228.  
  6229. V7 is a commonly adopted standard for a "nodelist database"
  6230. (often V7 is also called a "nodelist index", but this is only
  6231. half of the truth - *.NDX is the index, but *.DAT is some sort
  6232. of database file).
  6233.  
  6234. V7 uses B-tree indices for sysop names and system addresses and
  6235. is really FAST.
  6236.  
  6237. Many software uses V7 and a totally different standard maybe
  6238. would not get adopted by programmers.
  6239.  
  6240. But V7 has a great drawback: it currently does not put all
  6241. information that is contained in the "raw" nodelist into the V7
  6242. database.
  6243.  
  6244. So if you use V7, you do NOT have all nodelist information that
  6245. you maybe WANT to use (e.g. it does not support U,Txy (FSC-0062)
  6246. and other new flags, some characters get "lost" due to the
  6247. "packing" algorithm used etc.).
  6248.  
  6249. This drawback will be solved with V7+ - any thing that is
  6250. present in a raw nodelist will also be present in the V7+
  6251. database - no information is lost.
  6252.  
  6253. V7+ also introduces a Phone Index (useful for CID lookup) and a
  6254. whole set of "links" that allow to move through the Fidonet
  6255. structure:
  6256.  
  6257. - Ring of "same sysop" entries
  6258. - Ring of "same phone" entries
  6259. - Pointer to "first downlink"
  6260. - List of "same downlink level"
  6261. - Full Region and Hub information
  6262.  
  6263. Besides V7+ introduces a semaphore method to avoid collisions
  6264. between applications and the compiler.
  6265.  
  6266.  
  6267. ΓòÉΓòÉΓòÉ 15.2. Naming Convention ΓòÉΓòÉΓòÉ
  6268.  
  6269. 1. Naming Convention
  6270. ====================
  6271.  
  6272. The base name is user specified; from here on it will be
  6273. referred to as <NODEX>.
  6274.  
  6275. Files already used by V7, that are also used by V7+:
  6276.  
  6277. <NODEX>.DAT The V7 / V7+ data file.
  6278.       V7+ remains fully compatible with V7, but adds a new
  6279.       field (8 hex digit pointer to the DTP entry) at the
  6280.       end of the packed data.
  6281.  
  6282. <NODEX>.NDX Traditional B-tree address index.
  6283.  
  6284. <NODEX>.SDX Traditional B-tree sysop index (case insensitive).
  6285.       For V7 compatibility, both compilers and
  6286.       applications MUST be able to use SYSOP.NDX instead
  6287.       of the default <NODEX>.SDX.
  6288.  
  6289. V7+ specific files:
  6290.  
  6291. <NODEX>.DTP V7+ Data file, contains complete nodelist
  6292.       information and compiler-generated links.
  6293.  
  6294. <NODEX>.PDX B-tree Phone index (case insensitive), to be used
  6295.       just as <NODEX>.SDX.
  6296.  
  6297.  
  6298. The application that finds <NODEX>.DTP can assume that a V7+
  6299. nodelist is available. It is the user responsibility to delete
  6300. old files if downgrading.
  6301.  
  6302. A compiler in V7+ mode MUST generate all the above files by
  6303. default (no need to specify anything more than "Version7+" and
  6304. <NODEX>).
  6305.  
  6306.  
  6307.  
  6308. ΓòÉΓòÉΓòÉ 15.3. V7 Database File (<NODEX>.DAT) ΓòÉΓòÉΓòÉ
  6309.  
  6310. 2. V7 Database File (<NODEX>.DAT)
  6311. =================================
  6312.  
  6313.  
  6314. ΓòÉΓòÉΓòÉ 15.3.1. Old structure and procedure ΓòÉΓòÉΓòÉ
  6315.  
  6316. 2.1. Old structure and procedure
  6317. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  6318.  
  6319. struct _vers7
  6320. {
  6321.   short Zone;         // Zone number
  6322.   short Net;          // Net number
  6323.   short Node;         // Node number
  6324.   short HubNode;      // If a point, this is point number
  6325.   word CallCost;      // phone company's charge
  6326.   word MsgFee;        // Amount charged to user for a message
  6327.   word NodeFlags;     // set of flags
  6328.   byte ModemType;     // Modem type
  6329.   byte Phone_len;     // length of phone number (not packed)
  6330.   byte Password_len;  // length of password (not packed)
  6331.   byte Bname_len;     // length of system name (unpacked)
  6332.   byte Sname_len;     // length of Sysop's name (unpacked)
  6333.   byte Cname_len;     // length of City's name (unpacked)
  6334.   byte pack_len;      // total length of packed data
  6335.   byte BaudRate;      // baud rate divided by 300
  6336. };
  6337.  
  6338.  
  6339.  
  6340. Accessing V7 data is currently done like this:
  6341.  
  6342.  1. find the stuff in the index - result is the "datpos" value -
  6343.   the offset into the <NODEX>.DAT file
  6344.  
  6345.  2. Seek to offset <datpos> into the <NODEX>.DAT file
  6346.  
  6347.  3. Read sizeof(struct _vers7) bytes out of the <NODEX>.DAT file
  6348.   into a variable of type  struct _vers7
  6349.  
  6350.  4. Read the next <Phone_len> bytes out of the <NODEX>.DAT file
  6351.   -> Phone Number
  6352.  
  6353.  5. Read the next <Password_len> bytes out of the <NODEX>.DAT
  6354.   file -> Password
  6355.  
  6356.  6. Read the next <pack_len> bytes out of the <NODEX>.DAT file
  6357.   -> some "packed" data
  6358.  
  6359.  7. Unpack the "packed" data
  6360.  
  6361.  8. First <Bname_len> bytes of the unpacked data contain the
  6362.   System's (BBS') name
  6363.  
  6364.  9. Next <Sname_len> bytes of the unpacked data contain the
  6365.   Sysop's name
  6366.  
  6367. 10. Next <Cname_len> bytes of the unpacked data contain the
  6368.   City's name
  6369.  
  6370.  
  6371. Data layout in the <NODEX>.DAT file is like that:
  6372.  
  6373. <_vers7 struct>
  6374. <Not packed: Phone>
  6375. <Not packed: Password>
  6376. <Packed: <BBS name>
  6377.          <Sysop name>
  6378.          <City name>
  6379. >
  6380.  
  6381.  
  6382.  
  6383. ΓòÉΓòÉΓòÉ 15.3.2. New structure and procedure ΓòÉΓòÉΓòÉ
  6384.  
  6385. 2.2. New structure and procedure
  6386. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  6387.  
  6388. struct _vers7 is NOT changed: both indexed and sequential
  6389. accesses are guaranteed compatible with V7.
  6390.  
  6391. There's only a slight addition in the packed data, see below.
  6392.  
  6393. Accessing V7/V7+ data should be done like this:
  6394.  
  6395.  1. |
  6396. ... |
  6397. 10. | all the same as described in section 2.1 (compatibility!)
  6398.  
  6399. 11. Check if there are 8 hex digits at the end of the packed
  6400.   data, after <Bname_len>+<Sname_len>+<Cname_len> bytes (see
  6401.   steps 7..10).
  6402.  
  6403.   In a V7+ nodelist, you should _always_ find these 8 hex
  6404.   digits at the end of the packed data, BUT a V7 nodelist
  6405.   editor may have removed them from modified entries.
  6406.  
  6407.   Applications MUST be able to handle the "missing 8 hex
  6408.   digits" situation as a normal condition and proceed as
  6409.   possible with the simple V7 data (some message signalling
  6410.   the situation may be issued, abnormal termination is
  6411.   unacceptable behaviour).
  6412.  
  6413.   If the 8 hex digits are found, they represent an offset into
  6414.   the new <NODEX>.DTP file.
  6415.  
  6416.   Applications MUST ignore any data possibly following the 8
  6417.   hex digit pointer.
  6418.  
  6419.   Due to the V7 base-40 3:2 packing algorithm, the compilers
  6420.   have to pad the data to be compressed so that its length is
  6421.   a multiple of 3: it is recommended that the space (ASCII
  6422.   0x20) is used.
  6423.  
  6424.  
  6425. 12. Seek into <NODEX>.DTP to the offset you got in step 11.
  6426.  
  6427. 13. Read/Process <NODEX>.DTP fields as described in section 3.
  6428.  
  6429.  
  6430. So the new data layout in the <NODEX>.DAT file is like that:
  6431.  
  6432. <_vers7 struct>
  6433. <Not packed: Phone>
  6434. <Not packed: Password>
  6435. <Packed: <BBS name>
  6436.          <Sysop name>
  6437.          <City name>
  6438.          <8-hex-digit-offset into <NODEX>.DTP>
  6439. >
  6440.  
  6441.  
  6442.  
  6443. ΓòÉΓòÉΓòÉ 15.4. <NODEX>.DTP file layout ΓòÉΓòÉΓòÉ
  6444.  
  6445. 3. <NODEX>.DTP file layout
  6446. ==========================
  6447.  
  6448. Let's define some glossary:
  6449.  
  6450. byte   8 bit unsigned integer
  6451. word  16 bit unsigned integer (LSB first)
  6452. dword  32 bit unsigned integer (LSB first)
  6453.  
  6454.  
  6455. The <NODEX>.DTP file has the following layout:
  6456.  
  6457. <Header>    File header
  6458. <Entry>     Entry for first compiled system
  6459. <Entry>     Entry for second compiled system
  6460. <Entry>     Entry for third compiled system
  6461. ...
  6462.  
  6463.  
  6464.  
  6465. ΓòÉΓòÉΓòÉ 15.4.1. <Header> ΓòÉΓòÉΓòÉ
  6466.  
  6467. 3.1. <Header>
  6468. ~~~~~~~~~~~~~
  6469.  
  6470. <Header> has the following layout:
  6471.  
  6472. <Control>   Miscellaneous Information for Compatibility
  6473. <TopLink>   Link to top level fidonet hierarchy
  6474.  
  6475.  
  6476.  
  6477. ΓòÉΓòÉΓòÉ 15.4.1.1. <Control> Structure ΓòÉΓòÉΓòÉ
  6478.  
  6479. 3.1.1. <Control> Structure
  6480. ~~~~~~~~~~~~~~~~~~~~~~~~~~
  6481.  
  6482. struct _DTPCtl {
  6483.     word size;          // Size of this control structure
  6484.     byte Version;       // Version of DTP file
  6485.     byte AllFixSize;    // sizeof (_DTPAllLnk)
  6486.     byte AddFixSize;    // sizeof (_DTPNodeLnk)
  6487. };
  6488.  
  6489.  
  6490.  
  6491. size:
  6492.    This structure may be expanded in the future, so size is
  6493.    provided to allow compatible positioning on the following
  6494.    <TopLink> record.
  6495.  
  6496. Version:
  6497.    This is the V7+ Version, currently 0.
  6498.    The compatibility towards previous versions is guaranteed,
  6499.    so correctly behaved applications will have no problems
  6500.    dealing with newer versions of V7+.
  6501.  
  6502.    When new features will be added, new applications will be
  6503.    able to check for the version level of the V7+ database,
  6504.    while old ones will remain compatible.
  6505.  
  6506.    The check will be "if Version >= n then ...".
  6507.  
  6508. AllFixSize:
  6509.    This is the size of the fixed-length structure associated
  6510.    with ANY system in the nodelist. It is provided to allow
  6511.    compatible positioning on the following field, in the case
  6512.    of future extensions.
  6513.  
  6514. AddFixSize:
  6515.    This is the size of the fixed-length structure associated
  6516.    with Nodes only (no points) and with <TopLink>. It is
  6517.    provided to allow compatible positioning on the following
  6518.    field, in the case of future extensions.
  6519.  
  6520.  
  6521. ΓòÉΓòÉΓòÉ 15.4.1.2. <TopLink> ΓòÉΓòÉΓòÉ
  6522.  
  6523. 3.1.2. <TopLink>
  6524. ~~~~~~~~~~~~~~~~
  6525.  
  6526. V7+ has pointers to link the entire fidonet structure, from the
  6527. top coordinators to the points.
  6528.  
  6529. The <NODEX>.DTP header contains the link to the first (in
  6530. zone/region/net/hub/node/point order) "top level" system found
  6531. in the nodelist, usually ZC1.
  6532.  
  6533. struct _DTPNodeLnk {
  6534.     word  ndowns;   // number of systems in lower level
  6535.     dword FlOfs;    // DAT offset of "Lower Fido Level"
  6536. };
  6537.  
  6538.  
  6539.  
  6540. ndowns:
  6541.    The number of direct downlinks; in this case it is the
  6542.    number of "top level" systems (systems that do not have
  6543.    uplinks in the nodelist).
  6544.  
  6545.    Usually it's the number of ZCs.
  6546.  
  6547.    Please note that if you have included a Region segment and
  6548.    the corresponding Zone is not included in other nodelists
  6549.    compiled to the same <NODEX>.*, this RC will be a "Top
  6550.    Level" system. The same happens in the case of lower level
  6551.    systems that are "orphans" of the upper coordinator.
  6552.  
  6553. FlOfs:
  6554.    Offset into <NODEX>.DAT for the first direct downlink; in
  6555.    this case it's usually ZC1.
  6556.  
  6557.  
  6558. ΓòÉΓòÉΓòÉ 15.4.2. <Entry> ΓòÉΓòÉΓòÉ
  6559.  
  6560. 3.2. <Entry>
  6561. ~~~~~~~~~~~~
  6562.  
  6563. This is the <NODEX>.DTP entry for each and every compiled
  6564. system, pointed to by the 8-hex-digit offset found at the end of
  6565. the _vers7 packed data.
  6566.  
  6567.  
  6568. The layout is:
  6569.  
  6570. <Links>                 Fixed size info (see <Header>)
  6571. <Raw-size>              word (size of following raw-line)
  6572. <Raw-nodelist-line>     variable size raw nodelist line
  6573.  
  6574.  
  6575.  
  6576. This layout may be expanded in the future, both in the
  6577. fixed-length and variable-length sections.
  6578.  
  6579. Please, always use the size information found in the <Header> to
  6580. remain compatible with future V7+ extensions.
  6581.  
  6582.  
  6583. ΓòÉΓòÉΓòÉ 15.4.2.1. <Links> ΓòÉΓòÉΓòÉ
  6584.  
  6585. 3.2.1. <Links>
  6586. ~~~~~~~~~~~~~~
  6587.  
  6588. The layout is:
  6589.  
  6590.  <AllLinks>     Common to all entries
  6591. [<NodeLink>]    Not present for Points
  6592.  
  6593.  
  6594.  
  6595. ΓòÉΓòÉΓòÉ 15.4.2.1.1. <AllLinks> ΓòÉΓòÉΓòÉ
  6596.  
  6597. 3.2.1.1. <AllLinks>
  6598. ~~~~~~~~~~~~~~~~~~~
  6599.  
  6600. The following structure is used for all the systems in the
  6601. nodelist.
  6602.  
  6603.  
  6604. struct _DTPAllLnk {
  6605.     word  Region;  // Region
  6606.     word  Hub;     // Hub
  6607.     dword SOfs;    // DAT offset of next Same SysOp entry
  6608.     dword POfs;    // DAT offset of next Same Phone entry
  6609.     dword FeOfs;   // DAT offset of next "Equal Fido Level"
  6610.     byte  Sn;      // Number (base 0) of SysOp entry (ADR order)
  6611.     byte  Pn;      // Number (base 0) of Phone entry (ADR order)
  6612. };
  6613.  
  6614.  
  6615.  
  6616. Region:
  6617.    Region number, 0 if none.
  6618.  
  6619. Hub:
  6620.    Hub number, 0 if none.
  6621.  
  6622.    Please note that the "NodeHub" field of _vers7 may not
  6623.    always be the same as this one, not only because it is
  6624.    absent for points, but also because the compiler may
  6625.    infer the Hub from other nodelist entries while linking
  6626.    <NODEX>.DTP.
  6627.  
  6628.    DO NOT USE NodeHub in _vers7 for reliable Hub information.
  6629.  
  6630. SOfs:
  6631.    Offset into <NODEX>.DAT for next system with the same
  6632.    SysOp name (in order of Address).
  6633.  
  6634.    0xffffffff if none.
  6635.  
  6636.    This is a RING link, that is the last entry points to the
  6637.    first one.
  6638.  
  6639. POfs:
  6640.    Offset into <NODEX>.DAT for next system with the same
  6641.    Phone number (in order of Address).
  6642.  
  6643.    0xffffffff if none.
  6644.  
  6645.    This is a RING link, that is the last entry points to the
  6646.    first one.
  6647.  
  6648. FeOfs:
  6649.    Offset into <NODEX>.DAT for next system at the same
  6650.    "fidonet level", that is with the same direct
  6651.    uplink/coordinator.
  6652.  
  6653.    0xffffffff if none.
  6654.  
  6655.    This is a LIST link, that is the last entry points nowhere
  6656.    (0xffffffff).
  6657.  
  6658.    Please note that "equal level" systems are not necessarily
  6659.    all of the same coordination level (all HCs or RCs etc.).
  6660.  
  6661.    For example a ZC may have as direct downlinks (linked with
  6662.    FeOfs between one another):
  6663.  
  6664.    - his points (usually administrative entries should not
  6665.     have points, but it may happen),
  6666.  
  6667.    - Independent nodes in the Zone
  6668.  
  6669.    - Independent HCs in the Zone
  6670.  
  6671.    - Independent NCs in the Zone
  6672.  
  6673.    - RCs in the zone
  6674.  
  6675. Sn:
  6676.    Number of same-sysop entry (0 based).
  6677.    0xff if no link available.
  6678.  
  6679.    Please do NOT use Sn to check for links, use SOfs instead.
  6680.  
  6681. Pn:
  6682.    Number of same-phone entry (0 base).
  6683.    0xff if no link available.
  6684.  
  6685.    Please do NOT use Pn to check for links, use POfs instead.
  6686.  
  6687.  
  6688. When you are looking for a SysOp or Phone that has multiple
  6689. entries in the index, you get one and then you follow the links
  6690. (SOfs, POfs) through all the remaining entries.
  6691.  
  6692. Since the first entry (got from the index) may be in the middle
  6693. of the "Ring", you can use Sn and Pn to know how many "lower"
  6694. entries you will find. This may be useful for keeping the
  6695. "Address order" while gathering all the information throughout
  6696. the RING.
  6697.  
  6698. Please note that some "common" entries (as "-Unpublished-" for
  6699. the phone number), may have more than 254 links; so be aware
  6700. that Sn and Pn may (under exceptional conditions) overflow,
  6701. arrive at 0xff and restart from 0x00.
  6702.  
  6703. This should be no concern when doing a normal lookup, but
  6704. "statistical programs" that list all the Rings must be careful.
  6705.  
  6706. The proper way to check whether you have finished the RING is to
  6707. check the new SOfs/POfs against the first encountered one; Sn/Pn
  6708. should be used for reference only.
  6709.  
  6710.  
  6711.  
  6712. ΓòÉΓòÉΓòÉ 15.4.2.1.2. <NodeLink> ΓòÉΓòÉΓòÉ
  6713.  
  6714. 3.2.1.2. <NodeLink>
  6715. ~~~~~~~~~~~~~~~~~~~
  6716.  
  6717. The following structure is absent for points, since they do not
  6718. have downlinks. It's the same structure used in the <Header> for
  6719. <TopLink>.
  6720.  
  6721.  
  6722. struct _DTPNodeLnk {
  6723.     word  ndowns;   // number of systems in lower level
  6724.     dword FlOfs;    // DAT offset of "Lower Fido Level"
  6725. };
  6726.  
  6727.  
  6728.  
  6729. ndowns:
  6730.    The number of direct downlinks.
  6731.  
  6732.    It includes the lower level coordinators and all the
  6733.    systems that, for some reason, are orphans of the upper
  6734.    coordinator (not included in compilation or not existent).
  6735.  
  6736.    Examples:
  6737.  
  6738.    ZCs -> ZC's points
  6739.        independent nodes in the zone
  6740.        independent HCs in the zone
  6741.        independent NCs in the zone
  6742.        RCs in the zone
  6743.  
  6744.    RCs -> RC's points
  6745.        independent nodes in the region
  6746.        independent HCs in the region
  6747.        NCs in the region
  6748.  
  6749.    NCs -> NC's points
  6750.        independent nodes in the net
  6751.        HCs in the net
  6752.  
  6753.    HCs -> HC's points
  6754.        nodes in the Hub
  6755.  
  6756.    Node -> Node's points
  6757.  
  6758.  
  6759.  
  6760. FlOfs:
  6761.    Offset into <NODEX>.DAT for the first direct downlink, in
  6762.    "zone/region/net/hub/node/point" order.
  6763.  
  6764.  
  6765.  
  6766. ΓòÉΓòÉΓòÉ 15.4.2.2. <Raw-size> ΓòÉΓòÉΓòÉ
  6767.  
  6768. 3.2.2. <Raw-size>
  6769. ~~~~~~~~~~~~~~~~~
  6770.  
  6771. This is a word specifying the length of the following
  6772. <raw-nodelist-line> field.
  6773.  
  6774.  
  6775. ΓòÉΓòÉΓòÉ 15.4.2.3. <Raw-nodelist-line> ΓòÉΓòÉΓòÉ
  6776.  
  6777. 3.2.3. <Raw-nodelist-line>
  6778. ~~~~~~~~~~~~~~~~~~~~~~~~~~
  6779.  
  6780. This is the zero terminated raw nodelist line, taken verbatim
  6781. from the source nodelist; neither carriage-return nor line-feed
  6782. is present.
  6783.  
  6784. REQUIREMENTs for applications that use this field:
  6785.  
  6786. - The line's fields must be recognized ONLY by considering the
  6787.  comma ',' as a separator.
  6788.  
  6789. - Fields containing space are to be handled normally.
  6790.  
  6791. - Unknown qualifiers at the start of the line (the field usued
  6792.  for Hub, Host, Region, Zone) must be accepted.
  6793.  
  6794. - The second field (where the node number is usually placed)
  6795.  may contain further information and space: it must be accepted
  6796.  without error.
  6797.  
  6798.  
  6799. ΓòÉΓòÉΓòÉ 15.4.3. DTP extensions ΓòÉΓòÉΓòÉ
  6800.  
  6801. 3.3. DTP extensions
  6802. ~~~~~~~~~~~~~~~~~~~
  6803.  
  6804. The DTP format is suitable for backward compatible extensions.
  6805.  
  6806. If you would like new fields, please contact Alberto Pasquale
  6807. (2:332/504@fidonet) and/or Thomas Waldmann (2:2474/400@fidonet)
  6808. for discussion.
  6809.  
  6810. If the new field is considered useful, a draft for the new
  6811. version of V7+ will be issued by Alberto Pasquale.
  6812.  
  6813.  
  6814.  
  6815. ΓòÉΓòÉΓòÉ 15.5. <NODEX>.PDX Phone Index ΓòÉΓòÉΓòÉ
  6816.  
  6817. 4. <NODEX>.PDX Phone Index
  6818. ==========================
  6819.  
  6820. The purpose of the Phone Index is to allow an indexed search of
  6821. a system entry from its phone number.
  6822.  
  6823. This is especially useful with CID (caller ID) enabled systems.
  6824.  
  6825.  
  6826. ΓòÉΓòÉΓòÉ 15.5.1. <NODEX>.PDX format ΓòÉΓòÉΓòÉ
  6827.  
  6828. 4.1. <NODEX>.PDX format
  6829. ~~~~~~~~~~~~~~~~~~~~~~~
  6830.  
  6831. The index is a btree, just like those for the Address and SysOp
  6832. indices that are standard in Version 7.
  6833.  
  6834. Phone numbers will be indexed in the "processed" dialable form
  6835. (i.e. as in the V7 phone field) after removal of dashes.
  6836.  
  6837. Special non-numerical phone entries, including IP addresses and
  6838. internet domains, are indexed verbatim (the possible
  6839. translations operated by the nodelist compiler to allow the
  6840. dialing on some mailers is NOT applied to the indexed entry).
  6841.  
  6842. The indexing is NOT case sensitive, although the case is
  6843. retained in the index entries.
  6844.  
  6845. The index look-up must be done just the same way as for the SysOp
  6846. index: from the "phone number" string you obtain a pointer to
  6847. the corresponding entry in the <NODEX>.DAT.
  6848.  
  6849. Please be aware that multiple entries with the same "phone" are
  6850. possible, e.g for administrative akas; the Phone links in
  6851. <NODEX>.DTP allow easy browsing of all the "same phone" entries
  6852. once you have got one by index.
  6853.  
  6854. Currently there is no purpose in doing a case sensitive lookup;
  6855. in the case it becomes useful in the future, the application may
  6856. optionally provide settings to allow that by skipping
  6857. non-case-matching entries.
  6858.  
  6859.  
  6860. ΓòÉΓòÉΓòÉ 15.5.2. The Look-up problem ΓòÉΓòÉΓòÉ
  6861.  
  6862. 4.2. The Look-up problem
  6863. ~~~~~~~~~~~~~~~~~~~~~~~~
  6864.  
  6865. Since most ISDN devices do NOT report the CID as a "ready to
  6866. dial" number, some processing is required before looking up the
  6867. index.
  6868.  
  6869. Let's classify the CID reported by ISDN devices in various
  6870. nations into categories:
  6871.  
  6872. Cat A reports CID with domestic and international dialing codes,
  6873.    local numbers have the area code.
  6874.  
  6875. Cat B reports CID with NO long distance dialing code,
  6876.    local numbers have the area code.
  6877.  
  6878. Cat C reports CID exactly as dialable.
  6879.  
  6880. Cat D reports CID with NO long distance dialing code,
  6881.    local numbers are exactly dialable.
  6882.  
  6883.  
  6884.  
  6885. I will now explain with an example:
  6886.  
  6887. I live in Modena, Italy;
  6888.  
  6889. Country code          : 39
  6890. District (area) code  : 59
  6891. domestic code         :  0
  6892. international code    : 00
  6893.  
  6894.  
  6895. Call Type       A-CID           B-CID           Dialable
  6896.  
  6897. Local           059246112       59246112        246112
  6898. Domestic        0513456789      513456789       0513456789
  6899. International   00492312345     492312345       00492312345
  6900.  
  6901.  
  6902.                 C-CID           D-CID
  6903.  
  6904. Local           246112          246112
  6905. Domestic        0513456789      513456789
  6906. International   00492312345     492312345
  6907.  
  6908.  
  6909.  
  6910. Processing needed:
  6911.  
  6912. Category A: for local calls we need to remove the domestic and
  6913. district codes; domestic and international calls do not need any
  6914. processing.
  6915.  
  6916. Category B: we need to attempt finding a domestic number then,
  6917. in case of failure, try the international one; unfortunately the
  6918. CID reported by these devices allows for some ambiguity.
  6919.  
  6920. Category C: no processing needed.
  6921.  
  6922. Category D: we need to attempt finding a local number, if not
  6923. found we look for a domestic number, if still not found we try
  6924. the international one. Even more ambigous than B.
  6925.  
  6926.  
  6927. ΓòÉΓòÉΓòÉ 15.5.3. The ALGORITHM ΓòÉΓòÉΓòÉ
  6928.  
  6929. 4.3. The ALGORITHM
  6930. ~~~~~~~~~~~~~~~~~~
  6931.  
  6932. The application must have configurable District/Area, domestic
  6933. and international codes; let's name them:
  6934.  
  6935. AreaCode
  6936. DomesticPrefix
  6937. IntlPrefix
  6938.  
  6939. Besides, the application must have a configurable "category",
  6940. which must have selections for cases A,B,C,D; let's name this
  6941. variable:
  6942.  
  6943. Category
  6944.  
  6945.  
  6946. Let "Search" be the name of a function that does the index
  6947. look-up. Please be aware that the index may contain multiple
  6948. entries with the same "phone" value (perhaps administrative
  6949. akas).
  6950.  
  6951. "Restore CID" means "restore the CID as got from the device".
  6952.  
  6953. Start:
  6954.  
  6955.    get CID
  6956.  
  6957.    if (category == A) {
  6958.        If (CID begins with DomesticPrefix+AreaCode)
  6959.            Remove DomesticPrefix and AreaCode   // is local
  6960.        Search
  6961.        goto END
  6962.    }
  6963.  
  6964.  
  6965.    if (category == B) {
  6966.        If (CID begins with AreaCode) {  // local or intl
  6967.            remove AreaCode          // try local
  6968.            Search
  6969.            if (found)
  6970.                goto END         // is local
  6971.            else {
  6972.                Restore CID
  6973.                Add IntlPrefix   // try international
  6974.                Search
  6975.                goto END
  6976.            }
  6977.        } else {                 // domestic or intl
  6978.            Add DomesticPrefix   // try domestic
  6979.            Search
  6980.            if (found)
  6981.                goto END         // is domestic
  6982.            else {
  6983.                Restore CID      // try intl
  6984.                Add IntlPrefix
  6985.                Search
  6986.                goto END
  6987.            }
  6988.  
  6989.        }
  6990.    }
  6991.  
  6992.  
  6993.    if (category == C) {    // no processing required
  6994.        Search
  6995.        goto END
  6996.    }
  6997.  
  6998.    if (category == D) {
  6999.        Search             // try local
  7000.        if (found)         // is local
  7001.            goto END
  7002.        else {
  7003.            Add DomesticPrefix    // try domestic
  7004.            Search
  7005.            if (found)            // is domestic
  7006.                goto END
  7007.            else {                // try international
  7008.                Restore CID
  7009.                Add IntlPrefix
  7010.                Search
  7011.                goto END
  7012.            }
  7013.        }
  7014.    }
  7015.  
  7016.  
  7017. END: report results (pointer to NODEX.DAT or nothing found)
  7018.  
  7019.  
  7020. The Phone links in <NODEX>.DTP allow easy browsing of all
  7021. remaining "same phone" entries.
  7022.  
  7023.  
  7024. ΓòÉΓòÉΓòÉ 15.6. V7+ Semaphore ΓòÉΓòÉΓòÉ
  7025.  
  7026. 5. V7+ Semaphore
  7027. ================
  7028.  
  7029. To avoid collisions between the nodelist compiler and V7+
  7030. applications, a semaphore is used.
  7031.  
  7032. When the compiler needs exclusive access to the nodelist files,
  7033. it creates (if non existent) and keeps open in SH_DENYRW mode a
  7034. "<NODEX>.BSY" file.
  7035.  
  7036. When the application must access the nodelist files, it creates
  7037. (if non existent) and keeps open for reading in SH_DENYWR mode
  7038. the "<NODEX>.BSY" file.
  7039.  
  7040. This method allows for concurrent access by multiple programs in
  7041. "read" mode, while granting exclusive access to the compiler.
  7042.  
  7043. Please note that <NODEX>.BSY does NOT need to be deleted in case
  7044. of abnormal termination or power failure since it's considered
  7045. busy only while kept open.
  7046.  
  7047.  
  7048. Example for a program that must read V7+:
  7049.  
  7050. bsyname is the "<NODEX>.BSY" file name;
  7051. timeout is the timeout in seconds;
  7052. the file handle is returned on success, -1 on timeout
  7053.  
  7054.  
  7055. int waitopen (const char *bsyname, int timeout) // -1 on timeout
  7056. {
  7057.   int ret = -1;
  7058.   int i = 0;
  7059.  
  7060.   do {
  7061.     if (i > 0)
  7062.       sleep (1);
  7063.     if (access (bsyname, F_OK)) {       // file not existent
  7064.       int handle = open (bsyname, O_WRONLY | O_CREAT, S_IWRITE);
  7065.       if (handle != -1)
  7066.         close (handle);
  7067.     }
  7068.     ret = sopen (bsyname, O_RDONLY, SH_DENYWR);
  7069.     i ++;
  7070.   } while ((ret == -1) && (i < timeout) &&
  7071.            ((errno == EACCES) || (errno == ENOENT)));
  7072.            // sharing violation or file not found
  7073.     return ret;
  7074. }
  7075.  
  7076.  
  7077.  
  7078.  
  7079. ΓòÉΓòÉΓòÉ 15.7. Space/Time needed for V7+ database vs. usability ΓòÉΓòÉΓòÉ
  7080.  
  7081. 6. Space/Time needed for V7+ database vs. usability
  7082. ===================================================
  7083.  
  7084. The V7+ DTP file may be considered redundant, since it contains
  7085. the entire "source" nodelist line, that duplicates some of the
  7086. information already present in the V7 DAT file.
  7087.  
  7088. Let's look at the time and space overhead involved and at the
  7089. gain in usability:
  7090.  
  7091.  
  7092. Time:
  7093.  
  7094. Accessing V7+ is as fast as V7, if you use the normal V7 access
  7095. method (and if you are NOT interested in the additional data).
  7096.  
  7097. If you access the additional data in the <NODEX>.DTP file, you
  7098. have 1 direct file access more. Nothing to worry about...
  7099.  
  7100. Generating a V7+ database will take somewhat longer since there
  7101. is more data to be written to disk, links to be set, indices to
  7102. be prepared; on modern machines this should not be a concern.
  7103.  
  7104.  
  7105. Space:
  7106.  
  7107. Space needed is about twice as much as for V7, but this should
  7108. be no concern on modern machines.
  7109.  
  7110.  
  7111. Usability:
  7112.  
  7113. - Full and complete (no lossy compression) nodelist information
  7114.  
  7115. - Phone Index for easy CID lookup
  7116.  
  7117. - SysOp/Phone/Fidonet links for easy nodelist browsing
  7118.  
  7119. - Backward compatible extendability
  7120.  
  7121.  
  7122.  
  7123. ΓòÉΓòÉΓòÉ 15.8. Sample "C" source code (taken from BT-XE) ΓòÉΓòÉΓòÉ
  7124.  
  7125. 7. Sample "C" source code (taken from BT-XE)
  7126. ============================================
  7127.  
  7128. See archive v7p_src.* ...
  7129.  
  7130. Attention: this source code is far from being final - in fact it
  7131.       is the very first V7+ implementation in BT-XE and does
  7132.       not support all stuff that has been defined in this
  7133.       document. But it can read and parse V7+ data and is
  7134.       maybe better than no source code at all ...
  7135.  
  7136.  
  7137. ΓòÉΓòÉΓòÉ 15.9. History of this document ΓòÉΓòÉΓòÉ
  7138.  
  7139. 8. History of this document
  7140. ===========================
  7141.  
  7142. Draft 1->8: preliminary thoughts about possible versions of V7+.
  7143.  
  7144. Draft 9: completely rewritten, this should be the final
  7145.      "Version_0" of V7+.
  7146.  
  7147. Version 0: first release version.
  7148.  
  7149.